دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه! دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه!
🎯 ثبت نام
بستن تبلیغات
تسلط کامل بر سی‌شارپ با یک دوره پروژه‌محور

یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شی‌گرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفه‌ای و امکانات کامل!

مشاهده بیشتر
تسلط جامع بر MVC Core برای توسعه وب حرفه‌ای

یادگیری MVC Core از مبانی تا پیشرفته: شی‌گرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژه‌های کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!

مشاهده بیشتر

آموزش پیکربندی رابطه یک به یک

آموزش پیکربندی رابطه یک به یک

پیکربندی رابطه یک به یک

ما در اینجا رابطه یک به یک را بین کلاس Student و کلاس StudentAddress پیکربندی می کنیم. همان طور که می دانید رابطه یک به یک زمانی برقرار می شود که کلید اولیه یک جدول تبدیل به PK و در جدول دیگری به FK(کلید خارجی) تبدیل می شود. StudentId کلید اولیه جدول Student است، بنابراین StudentId کلید اولیه باشد و همچنین در جدول StudentAddress کلید خارجی می باشد تا رابطه یک به یک (یک به صفر یا یک به یک) بین آنها برقرار شود.


پیکربندی رابطه یک به صفر یا یک به یک با استفاده از DataAnnotation

public class Student
‎    {‎
        ‎        ‎        public Student() { }‎
        ‎        ‎        public int StudentId { get; set; }‎
        ‎        ‎        [Required]‎
        ‎        ‎        public string StudentName { get; set; }‎
        ‎        ‎        [Required]‎
        ‎        ‎        public virtual StudentAddress StudentAddress { get; set; }‎
        ‎        ‎    }‎
        ‎        ‎    public class StudentAddress ‎
        ‎        ‎    {‎
        ‎        ‎        [Key‎،‎ ForeignKey("Student")]‎
        ‎        ‎        public int StudentId { get; set; }‎
        ‎        ‎        public string Address1 { get; set; }‎
        ‎        ‎        public string Address2 { get; set; }‎
        ‎        ‎        public string City { get; set; }‎
        ‎        ‎        public int Zipcode { get; set; }‎
        ‎        ‎        public string State { get; set; }‎
        ‎        ‎        public string Country { get; set; }‎
        ‎        ‎        public virtual Student Student { get; set; }‎
        ‎        ‎    }

همان طور که در کلاس Student و StudentAddress می بینید، ما کار خاصی در کلاس Student انجام ندادیم زیرا کلاس StudentId از قراردادها (conventions) پیروی می کند بنابراین تبدیل به کلید اولیه (PK)می شود و اکنون ما از خصوصیت Key و ForeignKey برای فیلد StudentId در کلاس StudentAddress برای تبدیل آن به کلید اولیه و کلید خارجی استفاده می کنیم.و بنابراین یک رابطه یک به یک بین کلاس های Student و StudentAddress ایجاد می شود.


پیکربندی رابطه یک به یک با استفاده از Fluent API

 
protected override void OnModelCreating(DbModelBuilder modelBuilder)‎
        ‎    {‎
        ‎        modelBuilder.Entity()‎
        ‎            .HasKey(e => e.StudentId);‎
        ‎        modelBuilder.Entity()‎
        ‎                    .Property(e => e.StudentId)‎
        ‎                    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);‎
        ‎        modelBuilder.Entity()‎
        ‎                    .HasRequired(e => e.Student)‎
        ‎                    .WithRequiredDependent(s => s.StudentAddress);‎
        ‎        base.OnModelCreating(modelBuilder);‎
        ‎    }

قطعه کد نشان داده شده در بالا پایگاه داده زیر را ایجاد می کند.


آموزش Entity Framework

شمامی توانید رابطه بین کلاس های Student و StudentAddress را در پایگاه داده را همانطور که در زیر نشان داده شده است را بررسی کنید.


آموزش Entity Framework

اگر شما یک موجودیت مدل داده ای از پایگاه داده ساخته شده ایجاد کنید، دیاگرام آن به شکل زیر نشان داده خواهد شد.


آموزش Entity Framework

شما نحوه ایجاد رابطه ای یک به چند را در قسمت بعدی یاد خواهید گرفت.


1394/07/27 11716 2866
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...