در این پست از وبسایت پرووید در رابطه با آموزش Convention های رابطه های One-to-One در Entity Framework Core صحبت خواهیم کرد. تکنولوژی Entity Framework Core نسل بعدی Entity Framework است که توسط مایکروسافت معرفی شده است.

در این قسمت از این آموزش از وبسایت پرووید قصد داریم در رابطه با Convention های که به منظور پیاده ‌سازی Relationship هایی از نوع One-to-One وجود دارند صحبت کنیم. در قسمت های بعدی از این آموزش از وبسایت پرووید در رابطه با Convention هایی که Entity Framework Core به منظور پیاده ‌سازی Relationship های One-to-Many وجود دارد صحبت خواهیم کرد. خوب بیایید در رابطه با Convention های مربوط به Relationship هایی از نوع One-to-One هستند صحبت کنیم.

پیاده سازی یک Relationship از نوع One-to-One

جالب است بدانید که Entity Framework Core حاوی Convention هایی است که به صورت خودکار Relationship از نوع One-to-One را پیکربندی و ایجاد میکند. Entity Framework 6 و ورژن های قبل تر از آن از این Convention ‌ها پشتیبانی نمی ‌کردند.

بسته ی آموزش شروع به کار با Entity Framework Core

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

در Entity Framework Core پیاده سازی یک Relationship از نوع One-to-One نیازمند تعریف کردن یک Reference Navigation Property در هر دو Entity می باشد. به عنوان مثال ما دو  Entity Classبا نام ‌های Student و StudentAddress را پیاده سازی کرده ایم و قصد داریم یک Relationship از نوع One-to-One را بین آنها ایجاد کنیم. کد زیر پیاده سازی این Relationship را نشان می دهد.

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
       
    public StudentAddress Address { get; set; }
}

public class StudentAddress
{
    public int StudentAddressId { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Country { get; set; }

    public int StudentId { get; set; }
    public Student Student { get; set; }
}

در کدی که در قسمت بالا مشاهده می ‌کنید Student حاوی یک Reference Navigation Property از نوع StudentAddress می ‌باشد و StudentAddress نیز به نوبه خود حاوی یک Foreign Key Property به اسم StudentId و Reference Navigation Property مربوط به آن از نوع Student می ‌باشد. این موضوع باعث پیاده سازی یک Relationship از نوع One-to-One بین Entity های Student و StudentAddress در دیتابیس می‌شود. این موضوع در تصویر زیر نشان داده شده است.

موضوع دیگر اینکه Entity Framework Core یک Unique Index بر روی ستون StudentId که یک Foreign Key است ایجاد می‌ کند. ضمناً این ستون NotNull است. ستون StudentId در جدول StudentAddress قرار گرفته است. این موضوع را در تصویر بالا مشاهده می‌ کنید.

پیاده ‌سازی این Unique Index باعث می شود که مقدار درون این ستون یعنی همان StudentId باید یکتا باشد که در پیاده سازی یک Relationship از نوع One-to-One الزامی است. این قید یکتا بودن یا همان Unique Constraint در Entity Framework Core پشتیبانی می شود اما در Entity Framework 6 پشتیبانی نمی شود.

آموزش .NET Core برای برنامه نویسان ویندوز

از شما دعوت می کنیم که از بسته ی آموزش .NET Core برای برنامه نویسان ویندوز دیدن کنید.

دلیل وجود Convention هایی برای پیاده‌ سازی Relationship های One-to-One در Entity Framework Core نیز همین موضوع است. علاوه بر این می توانید با استفاده از Fluent API  و پیکربندی های مختلفی که می توانید با آنها انجام بدهید Relationship های One-to-One را اگر Entity های شما از این One-to-One ها استفاده نمی ‌کنند پیاده سازی کنید.

خب این آموزش از وبسایت پرووید را نیز در این قسمت به اتمام می ‌رسانیم در رابطه با Convention ‌های مربوط به پیاده سازی Relationship ها در Entity Framework Core در بسته های آموزشی Entity Framework  از وبسایت پرووید صحبت کرده ‌ایم.

دقت کنید که پیاده سازی Relationship های One-to-One و One-to-Many در این آموزش ها از وبسایت پرووید بررسی شده ند، ولی پیاده سازی Relationship های Many-to-Many نیازمند پیکربندی های بیشتری می باشد. به همین دلیل توصیه می ‌کنیم که از آموزش های ویدیویی وبسایت پرووید در رابطه با Entity Framework Core استفاده کنید.

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

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