آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

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

دوره های مرتبط با این مقاله

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

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

ما در اینجا رابطه یک به یک را بین کلاس 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

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


  • 6061
  •    1584
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .