ارتباط جداول در CodeFirst

جمعه 17 مهر 1394

در این مقاله قصد داریم در مورد چند بخش مختلف از Entity Framework Code First برای WebApplication ها که نوشته شده است صحبت کنیم. EF یک ORM است مخفف object relational mapping این پشتیبانی ارتباط بین کد و دیتابیس است.

ارتباط جداول در CodeFirst

در این مقاله می خواهیم در مورد Entity یک توضیح کوچک می دهیم و چگونگی ارتباط بین زمینه های Entity

Framework و Code First برای اولین بار ایجاد، یک لایه ی دسترسی به داده ها

در مورد Entity Framework:

EF یک ORM است مخفف object relational mapping این پشتیبانی ارتباط بین کد و دیتابیس است.

که با تسهیل توسعه ساختار بانک طالاعاتی (با تولید کد DML به صورت خودکار)، دسترسی داده ها ، نقشه برداری داده ها بین مجموعه داده ها و اشیا از کد ما

EF سه راه برای دسترسی به داده ها به ما می دهد:

1-Databasefirst

2-Modelfirst

3-codefirst

ما با توجه به ساختار کد،  بهترین و مناسب ترین منطق برنامه نه سازمان پایگاه داده را انتخاب می کنیم.

Entity Class چیست؟

کلاس های ساده که نشان دهنده اشخاص از نرم افزار ها می باشد.

هر Entities مربوط به یک جدول پایگاه داده است.

درست کردن یک کلاس Entity:

درست کردن کلاس ساده است ، هر کلاس وقتی تعریف می شود یک سری خصوصیات به همراه خود دارند.

در مثال زیر داخل Modal  کلاس person تعریف شده است که به صورت زیر می باشد:

public class Person
{
   public int Id {get; set;}
   public string Name {get; set;}
   public string Surname {get; set;}
   public DateTime BirthDate {get; set;}
}

اگر ما این کلاس را بررسی کنیم 3 خصوصیت در آن وجود دارد:

1-یک عدد صحیح به نام Id دارد

2-دو ویژگی نام و نام خانوادگی به صورت رشته تعریف شده است

3-یک از صفت ها به صورت تاریخ تعریف شده است

در زیر کلاس Person با یک سری خصوصیات بیان شده است:

public class Person
{
   public int Id {get; set;}

   [required]
   public string Name {get; set;}

   [required]
   [MaxLength(50)]
   public string Surname {get; set;}

   public DateTime BirthDate {get; set;}
}

در کلاس بالا اسم و Surname هر کدام دارای Validation هستند.

که برای Surname به ما می گویند که اندازه ماکزیمم یک صفت به چه مقدار باشد، و بیشتر از مقدار وارد

نشده اطلاعات نوشته نشود.

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

لیستی از کشور ها را داریم چگونه باید Entity آن را بنویسیم:

public class Country
{
  public int Id {get; set;}
  public string Name {get; set;}
}

برای هر کشور یک Id در نظر می گیریم

ما می تونیم دو کلاس را به هم متصل کنیم. به صورت زیر:

public class Person
{
   public int Id {get; set;}

   [required]
   public string Name {get; set;}

   [required]
   [MaxLength(50)]
   public string Surname {get; set;}

   public DateTime BirthDate {get; set;}

   public virtual Country Country {get; set;}
}

در زیر رابطه ی بین فرد و کشور وجود دارد یک فرد می تواند یک کشور داشته باشد اما یک کشور می تواند به افراد مختلف اختصاص داشته باشد.

نمودار رابطه به صورت زیر خواهد بود:

EF این امکان را برای شما فراهم می کند که می توانید برای تمام خواص تعریفی داشته باشید، و از ساختار پایگاه داده اطلاعاتی به شما می دهد.

آموزش سی شارپ

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 4k بازدید
  • 2 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید