آموزش شروع به کار با Entity Framework در دات نت #7 قسمت هفتم از یک سری آموزشی از وبسایت پرووید است که در رابطه با اصول مقدماتی کار کردن با تکنولوژی Entity Framework تنظیم شده است. پس از این دوره ی آموزشی می توانید از بسته های آموزشی وبسایت پرووید در رابطه با Entity Framework را استفاده کنید.

در قسمت قبلی از این آموزش در مورد کلاس Context در Entity Framework صحبت کردیم.

یک Entity در Entity Framework چیست؟

یک Entity در Entity Framework کلاسی است که در Domain (منظور از Domain در این قسمت همان مفهومی است که در Domain Driven Design وجود دارد. ضمنا می توانید آموزش های مربوط به Domain Driven Design را از وبسایت پرووید تهیه کنید.) شما وجود دارد و به عنوان DbSet در کلاس Context شما قرار می گیرد.

API مربوط به Entity Framework هر Entity را به یک جدول و هر Property از یک Entity را به یک فیلد از بانک اطلاعاتی Map می‌کند. برای مثال در ادامه کلاس های Student و StudentAddress و Grade که به عنوان Domain Class در Domain یک دانشگاه یا همان School وجود دارند را مشاهده می کنید.

public class Student
{
    public int StudentID { get; set; }
    public string StudentName { get; set; }
    public DateTime? DateOfBirth { get; set; }
    public byte[]  Photo { get; set; }
    public decimal Height { get; set; }
    public float Weight { get; set; }
        
    public StudentAddress StudentAddress { get; set; }
    public Grade Grade { get; set; }
}

public partial class StudentAddress
{
    public int StudentID { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    
    public Student Student { get; set; }
}

public class Grade
{
    public int GradeId { get; set; }
    public string GradeName { get; set; }
    public string Section { get; set; }

    public ICollection<Student> Students { get; set; }
}          

کلاسهای بالا زمانی تبدیل به Entity می‌شوند که به عنوان Property هایی از نوع DbSet در درون کلاس Context معرفی شوند. در قسمت قبلی گفتیم که کلاس Context کلاسی است که از DbContext ارث بری کند. کد مربوط به کلاس Context را با نام SchoolContext در قسمت زیر مشاهده می کنید.

public class SchoolContext : DbContext
{
    public SchoolContext()
    {

    }

    public DbSet<Student> Students { get; set; }
    public DbSet<StudentAddress> StudentAddresses { get; set; }
    public DbSet<Grade> Grades { get; set; }
}      

در این کلاس Property های Students و StudentAddresses و Grades که از نوع DbSet جنریک می باشند را Entity Set می‌نامیم و کلاس های Student و StudentAddress و Grade را را Entity یا Entity Type می نامیم. لطفاً به جمع بودن اسم Entity Set ها که با اضافه شدن یک حرف s در پایان آن ها نشان داده شده است دقت کنید. در درون یک Entity می‌ توانیم دو نوع Property تعریف کنیم: Scalar Property ها و Navigation Property ها.

بسته ی جامع 5 Entity Framework

از شما دعوت می کنیم از بسته ی جامع 5 Entity Framework دیدن کنید.

Scalar Property چیست؟

Scalar Property ها آن دسته از Property هایی هستند که از نوع های داده ای اولیه یا Primitive Data Type ها از قبیل int و string می باشند. در واقع یک Scalar Property به به یک فیلد از یک جدول در بانک اطلاعاتی Map می‌شود.

Navigation Property چیست؟

یک Navigation Property نمایانگر یک Relationship به یک Entity دیگر است. به طور کلی دو نوع Navigation Property وجود دارند: Reference Navigation Property و Collection Navigation Property.

Reference Navigation Property چیست؟

اگر یک Entity حاوی یک Property از نوع یک Entity Type دیگر باشد به آن پرپشتی Reference Navigation Property می‌گوییم. در واقع Reference Navigation Property نمایانگر یک Relationship با Multiplicity یک است.

آموزش نکات طلایی Entity Framework برای برنامه های تجاری

از شما دعوت می کنیم از بسته ی آموزش نکات طلایی Entity Framework برای برنامه های تجاری دیدن کنید.

Collection Navigation Property چیست؟

اگر یک Entity شامل یک Property از یک نوع Collection ی از یک Entity Type دیگر باشد به آن Collection Navigation Property می‌گوییم. به عبارت دیگر یک Collection Navigation Property نمایانگر یک Relationship با ما Multiplicity چند یا همان Many می باشد. در در تصویر زیر Entity های تعریف شده را می بینید و نوع هر کدام از Property های تعریف شده در آن ها را مشاهده می کنید.

در قسمت بعدی از این آموزش در مورد انواع Entity ها در Entity Framework صحبت خواهیم کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *