تنظیمات Domain Classes در Code-First در Asp.Net MVC +5 به منظور تنظیم کردن و هماهنگ کردن اطلاعات مابین SQL Server و کد های نوشته شده در EF می باشد.

به 2 روش این کار امکان پذیر میباشد تا به این لحظه.

  1. DataAnnotations
  2. Fluent API

 

شماره 1 که بصورت تگ مانند در بالای پراپرتی ها قرار میگرد و می توانیم از آنها به عنوان معرفی نمودن و شناساندن اطلاعات به دیتابیس استفاده کنیم همچنین در بعضی مواقع در سمت MVC از این تگ ها به عنوان مجزا سازی برای Type های مختلف استفاده می گردد.

در زیر نمونه ای از کد ها و طرز استفاده از آنها آمده است.

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

 

 

شماره 2 به صورت دستی و کد نویسی پیاده سازی می گردد و امکانات بیشتری نسبت به شماره 1 ندارد در اصل با ترکیب این 2 حالت به بهترین حالت ممکن دست پیدا خواهیم کرد.

در زیر نمونه ای از کد ها و طرز استفاده از آنها آمده است.

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);
        }
}