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

آموزش پیکربندی کلاس های Domainدر Code-First

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

آموزش پیکربندی کلاس های Domainدر Code-First

همانطور که می دانید، شما می توانید مدل entity data را از یک پایگاه داده موجود در Database-First ایجاد کنید.این EDM همه اطلاعات اصلی را در SSDL، CSDL وMSL را دارد. بنابراین EF می تواند از این مدل در query ها، ردیابی تغییرات، قابلیت های بهنگام سازی و غیره استفاده نماید. به همین روش entity framework Code-First به شما این اجازه را می دهد که با استفاده از کلاس های Domain تان، مدل را بسازید که در عوض برای فعالیت دیگری توسط EF استفاده می شود. Code-Firstقراردادهای مطمئنی را برای کلاس های Domain تان پیشنهاد می کند، بنابراین EF می تواند آن را تفسیر نموده و مدل را بسازد.
هرچند اگر کلاس های Domainتان این قراردادها را نداشته باشد در آن صورت شما می توانید کلاس های Domain تان را پیکر بندی کنید بنابراین EF می تواند آن را بفهمد و مدل را از روی آن بسازد. دو روش وجود دارد که شما می توانید کلاس های domain تان را پیکربندی کنید.


  1. DataAnnotation
  2. Fluent API

DataAnnotation

DataAnnotation ویژگی ساده ای که براساس پیکربندی می باشد که بر روی کلاس های Domain و خصوصیاتش قابل اعمال هستند. شما می توانید اکثر این ویژگی ها را در namespace به طریق System.ComponentModel.DataAnnotations بیابید. بنابراین DataAnnotation زیر مجموعه ای از پیکربندی های Fluent API را فراهم می کند. بنابراین اگر برخی از ویژگی ها را نیافتید، باید برای پیکربندی آن از Fluent API استفاده کنید.
در پایین مثالی از DataAnnotation آورد ه شده که در کلاس Student استفاده شده است.


   
[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; }‎
        ‎    }

پیکربندی Fluent API زمانی اعمال می شود که EF مدل را از روی کلاس های Domain تان می سازد. شما می توانید پیکربندی ها را به وسیله دوباره نوشتن روی ویژگی OnModelCreating کلاس DbContext به شرح زیر اعمال کنید.


  
public class SchoolDBContext: DbContext ‎
        ‎    {‎
        ‎        public SchoolDBContext(): base("SchoolDBConnectionString") ‎
        ‎        {‎
        ‎        }‎
        ‎        public DbSet Students { get; set; }‎
        ‎        public DbSet Standards { get; set; }‎
        ‎        public DbSet StudentAddress { get; set; }‎
        ‎        protected override void OnModelCreating(DbModelBuilder modelBuilder)‎
        ‎        {‎
        ‎            //Configure domain classes using Fluent API here‎
        ‎            base.OnModelCreating(modelBuilder);‎
        ‎        }‎
        ‎    }

شما می توانید از modelBuilder که شی ای از کلاس DbModelBuilder می باشد برای پیکربندی کلاس های Domain استفاده کنید.
جزئیات در مورد DataAnnotation و Fluent API در قسمت بعدی آورده شده است.


  • 1139
  •    1662
  • تاریخ ارسال :   1394/07/27

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

ارسال

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

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