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

در قسمت های قبلی از این آموزش‌ ها که در رابطه با Entity Framework Core از وبسایت پرووید منتشر می شوند در رابطه با convention هایی که در Entity Framework Core وجود دارند صحبت کرده‌ایم. بسیاری از اوقات این convention ها کار مورد نظر ما را انجام می دهند. اما گاهی اوقات نیز ما می ‌خواهیم که این convention ها را customize کنیم و پیکربندی های خاص خود را لحاظ کنیم. چرا که این convention های پیش فرض ممکن است نیاز ما را برطرف نکنند. خوشبختانه Entity Framework Core امکان پیکربندی domain class ها را برای کار کردن با mapping های بین model و دیتابیس می ‌دهد. این موضوع تحت عنوان یک الگوی برنامه نویسی به نام Convention over Configuration شناخته می شود.

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

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

خب دو روش برای پیکربندی domain class ها در Entity Framework Core وجود دارند.

  • با استفاده از Data Annotation Attribute ها
  • با استفاده از Fluent API

در ابتدا به بررسی روش data annotation attribute می پردازیم.

روش data annotation attribute

data annotation attribute ها در واقع یک روش انجام configuration است که بر اساس attribute ها کار می کنند. attribute ها می توانند در domain class ها و property های درون آنها اعمال شوند. دقت کنید که این attribute ها که به منظور خاص Entity Framework نیستند و می‌توانند مثلاً در برنامه های ASP.NET MVC نیز استفاده شوند. به همین دلیل است که این attribute ها در یک namespace به نام System.ComponentModel.DataAnnotations قرار گرفته اند. در بسته ی آموزش ویدئویی شی گرایی در سی شارپ در رابطه با data annotation attribute ها بیشتر صحبت کرده ایم.

کدی که در قسمت زیر می بینید نحوه استفاده کردن از این attribute ها را برای پیکربندی یک domain class به نام Student و property های مختلف آن را نشان می دهد.

[Table("StudentInfo")]
public class Student
{
    public Student() { }
        
    [Key]
    public int SID { get; set; }

    [Column("Name", TypeName="ntext")]
    [MaxLength(20)]
    public string StudentName { get; set; }

    [NotMapped]
    public int? Age { get; set; }
        
        
    public int StdId { get; set; }

    [ForeignKey("StdId")]
    public virtual Standard Standard { get; set; }
}

با استفاده از این attribute ها می‌توانیم convention های پیش فرض Entity Framework Core را override کنیم. دقت کنید که این attribute ها در Entity Framework 6 و Entity Framework Core یکسان می باشند. بنابراین اگر سابقه کار کردن با این attribute ها را در Entity Framework 6 دارید می‌ توانید از دانش خود در این قضیه استفاده کنید.

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

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

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

یکی دیگر از روش های پیکربندی domain class ها استفاده کردن از Fluent API می باشد. در واقع Fluent API بر اساس یک design pattern به اسم Fluent API یا Fluent Interface کار می کنند. در بسته ی آموزش ویدئویی Design Pattern ها در سی شارپ در رابطه با الگوهای طراحی به طور مفصل صحبت کرده ایم. این روش بر اساس روشی به اسمم method chaining یا زنجیر کردن متد ها کار می کند. در قسمت‌ های بعدی از این آموزش به صورت دقیق و با جزئیات کامل در رابطه با Fluent API و انواع پیکربندی هایی که می توانید با استفاده از آن در Entity Framework Core انجام دهید و convention ها را override کنید صحبت خواهیم کرد.

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

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