• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

آموزش Entity Framework

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : بخش اول - code first چیست؟

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

در اولین پست، ابتدا به بیان اینکه code first چیست می پردازیم:

Entity Framework ، Code-First را از Framework 4.1 معرفی می کند. Code-First بیشتر در Domain Design مفید است ، در Code-First ،شما می توانید روی Domain Design تمرکز کنید و کلاس ها را طبق نیازهای Domain تان ایجاد کنید ، نه اینکه ابتدا پایگاه داده تان را طراحی کنید و بعد کلاس هایتان را مطابق با پایگاه داده یتان طراحی کیند. APIهای Code-First براساس موجودیت کلاس ایجاد و پیکر بندی می شوند.

بنابراین همانند یک توسعه دهنده نرم افزار ،شما ابتدا به جای تمرکز بر طراحی پایگاه داده با نوشتن کلاس های سی شارپ یا کلاس های ویژوال بیسیک دات نت شروع کنید.سپس وقتی شما Application را اجرا می کنید، APIهای Code-First یک پایگاه داده جدید را ایجاد کرده و یا قبل از اجرای Application ،کلاس ها را با یک پایگاه داده موجود اجرا می کند.

بنابراین جریان کار به شکل زیر خواهد بود:

کلاس های application ،Code-First را بنویسید--> برای اجرای برنامه F5 را فشار دهید -- > APIهای Code-First پایگاه داده جدید را ایجاد می کند یا کلاس ها را با یک پایگاه داده موجود اجرا می کند. -- > و در آخر برنامه را اجرا می کند.

مثال ساده Code-Frist را در قسمت بعدی از سری آموزش Entity Framework ببینید.

منبع مقاله های آموزشی که در اختیار شما دوستای عزیز می ذارم : آموزش Entity Framework
 
Last edited:

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : مثال ساده ای از Code-First

در این پست به بررسی یک مثال ساده code first می پردازیم.

در این فصل از آموزش Entity Framework به مشاهده یک نمونه ساده از code first می پردازیم.

اولین مثال ساده Code-First را بسازیم:

در ویژوال استودیو 2010 ، Class Library project را ایجاد کنید و دو کلاس ساده Student و Standard همان طور که در زیر نیز نشان داده شده است را بنویسید.(برای این مثال شما می توانید Entity Framework 4.1/4.3/5.0 را ببینید).


کد:
Student Class:[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
[SIZE=6][SIZE=3][SIZE=6][SIZE=3][SIZE=6][SIZE=3][SIZE=6][SIZE=3]
  publicclassStudent
  {
  public Student()
  {
  }
  publicint StudentID { get; set; }
  publicstring StudentName { get; set; }
  }
Standard Class:
  publicclassStandard
  {
  public Standard()
  {
  }
  publicint StandardId { get; set; }
  publicstring StandardName { get; set; }
  publicstring Description { get; set; }
  }

اکنون،یک context class ایجاد کنید که از کلاس DBContext با دو ویژگی DbSet یکی برای Student و دیگری برای Standard مشتق گرفته است.


و اکنون هم Console Project ایجاد کنید تا این کلاس ها را همانطور که در زیر هم نشان داده شده است تست کنید.


کد:
[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
[SIZE=6][SIZE=3][SIZE=6][SIZE=3][SIZE=6][SIZE=3][SIZE=6][SIZE=3]

    using (var ctx = new Context())
    {
        Student stud = new Student() { StudentName = "New Student" };
        ctx.Students.Add(stud);
        ctx.SaveChanges();          
    }

اکنون اگر شما Application را اجرا کنید ،از اینکه Application با موفقیت اجرا می شود ،شگفت زده خواهید شد.


Application با موفقیت اطلاعات Student را در پایگاه داده ذخیره کرده است اما پایگاه داده کجاست و جدول ها و ستون های آن چه چیزی هستند؟


این زیبایی API های Code-First ، Entity Framework است که پایگاه داده را بر اساس پارمترهایی که به سازنده اصلی کلاس context داده شده است ،ایجاد می کند.خوب ما هیچ پارامتری را به آن ارسال نکردیم ،بنابراین پایگاه داده "SchoolDataLayer.Context" را در SQLEXPRESS محلی ایجاد می کند.جریان کار پایگاه داده را در قسمت بعدی مشاهده خواهیم کرد.


Code-first API دو جدول را نیز در پایگاه داده ایجاد می کند ، جدول های Students و Standards براساس کلاس های Student وStandard. Code-first API یک کلید اولیه(Primary Key) در جدول ایجاد می کند اگر کلاس Id یا ویژگی Id را داشته باشد.برای مثال کلاس Student ویژگی StudentId را دارد ،بنابراین StudentId را به عنوان کلید آولیه(PK) ایجاد می کند.و همینطور ستون ها را با همین اسم و نوع داده ایجاد می کند ،که اسم Property ها و نوع داده در زیر نشان داده شده است.


image.axd


خوب در این روش بدون ایجاده پایگاه داده ،شما می توانید Application هایی را بنویسید که در نهایت پایگاه داده را از کلاس های Domain تان ایجاد می کند.

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


 
Last edited:

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : آموزش مقدار دهی و قالب بندی بانک اطلاعاتی

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

اکنون مشاهده خواهیم کرد که چگونه یک پایگاه داده درcode-first application را راه اندازی می کنیم:

شکل زیر یک فرآیند راه اندازی پایگاه داده را نشان می دهد که براساس پارامترهای ارسال شده به base constructor از کلاس Context که خود نیز از DbContext مشتق گرفته است.
image.axd



مطابق شکل بالا شما می توانید پارامترهای زیر را به base constructor ارسال کنید.
بدون پارامتر:اگر شما هیچ پارامتری را ارسال نکنید ،پایگاه داده را در SQLEXPRESS محلی تان با اسمی که مطابق {Namespace}.{Context class name}. است ،ایجاد می کند برای مثال SchoolDataLayer.Context

Name :اگر شما پارامتر Name را ارسال کنید پایگاه داده را در local SQLEXPRESS db server با همان اسم ارسال شده ایجاد می کند.برای مثال قطعه کد زیر یک پایگاه داده با اسم "SchoolDB-CodeFirst" را ایجاد می کند.

کد:
public class Context: DbContext
{
  public Context(): base("SchoolDB-CodeFirst")
  }
}
}
}
  }


ConnectionStringName:اگر شما اسم connection string را از app.config یا web.config ارسال کنید ، پایگاه داده را با همان connection string ایجاد می کند.برای مثال قطعه کد زیر یک پایگاه داده "SchoolDB-ByConnectionString" را ایجاد می کند.



کد:
public class Context: DbContext
  {
  public SchoolDBContext() : base("SchoolDBConnectionString")
  }
}
}


App.config:


کد:
< xmlversion="1.0"encoding="utf-8" ?>

  <configuration>
  <connectionStrings>
  <"addname="SchoolDBConnectionString>
  connectionString="Data Source=.;Initial Catalog=SchoolDB-ByConnectionString;Integrated Security=true
   "providerName="System.Data.SqlClient"/>
  connectionStrings>
  configuration>



کلاس Context بالا یک اسم connection string به عنوان پارامتر ارسال می کند.بنابراین پایگاه داده "SchoolDB-ByConnectionString" را ایجاد کرده یا از پایگاه داده موجود "SchoolDB-ByConnectionString" در SQL Server استفاده می کند(زیرا ما "." در SQLEXPRESS ذکر نکردیم).مطمئن شوید که شما providerName = "System.Data.SqlClient" را در connection string نوشته اید.

کد:
  public class Context: DbContext
{
public Context(): base()
  }
  }
}

در فصل بعدی از آموزش Entity Framework به بررسی استراتژی های راه اندازی پایگاه داده در code first می پردازیم.

در صورت تمایل می توانید مجموعه کامل آموزش Entity Framework را مشاهده نمائید.
 
Last edited:

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : استراتژی های راه اندازی پایگاه داده در Code-First

شما در حال حاضر پایگاه داده یتان را بعد از اجرای code first application در همان مرحله اول ایجاد کرده اید اما هنگام اجرا برای دوم چگونه این کار انجام خواهد شد؟؟آیا هر بار که شما Application را اجرا می کنید یک پایگاه داده جدید ایجاد می کند؟در مورد محیط تولید چطور؟چگونه پایگاه داده را تغییر می دهید زمانی که شما مدل Domain تان را تغیییر می دهید؟برای اجرای این سناریوها شما باید از یکی از استراتژی های راه اندازی پایگاه داده استفاده کنید.
چهار استراتژی متفاوت راه اندازی پایگاه داده وجود دارند:

1.CreateDatabaseIfNotExists :این حالت پیش فرض است ،همانطور که از اسمش پیداست پایگاه داده را زمانی که طبق پیکربندی هیچ پایگاه داده ای وجود نداشته باشد را ایجاد می کند.هر چند اگر شما مدل کلاس را تغییر داده و سپس application را با این راه انداز اجرا کنید ،خوب یک خطا یا Exception روی خواهد داد.

2.DropCreateDatabaseIfModelChanges :اگر مدل کلاس هایتان(entity classes) تغییر کنند، این راه انداز پایگاه داده موجود را حذف نموده و یک پایگاه داده جدید را ایجاد می کند.بنابراین موقعی که مدل کلاس هایتان تغییر کند نگران حفظ الگو(Schema)پایگاه داده یتان نباشید .

3.DropCreateDatabaseAlways: همانطور که از اسمش پیداست این راه انداز هر دفعه که شما Application را اجرا کنید پایگاه داده موجود را حذف می کند ،صرف نظر از اینکه مدل کلاس هایتان تغییر کرده یا نه.این می تواند زمانی مفید باشد که شما در هر دفعه از اجرای Application پایگاه داده جدید بخواهید و همینطور در زمان توسعه Application.

4.Custom DB Initializer:اگر هیچ یک از راه اندازهای ایجاده پایگاه داده در بالا نیاز های شما را تامین نمی کند یا شما می خواهید فرایند دیگری را که پایگاه داده را با استفاده از initializer های بالا آغاز کنید ،خوب در این صورت می توانید راه انداز سفارشی خودتان را ایجاد کنید.

برای استفاده از استراتژی های DB initialization مطرح شده در بالا ،باید DB Initializer را با استفاده از کلاس پایگاه داده در کلاس Context به شرح زیر به کار برید.


کد:
public class SchoolDBContext: DbContext
    {
        public SchoolDBContext(): base("SchoolDBConnectionString")
        {
           Database.SetInitializer<SchoolDBContext>(new CreateDatabaseIfNotExists<SchoolDBContext>());
            //Database.SetInitializer(new DropCreateDatabaseIfModelChanges());
            //Database.SetInitializer(new DropCreateDatabaseAlways());
            //Database.SetInitializer(new SchoolDBInitializer());
        }
        public DbSet<Student> Students { get; set; }
        public DbSet<Standard> Standards { get; set; }
    }

شما می توانید DB initializer خودتان را به وسیله ارث بری از یکی از راه اندازها همان طور که در پایین نشان داده شده است راایجاد کنید.

کد:
    public class SchoolDBInitializer :  DropCreateDatabaseAlways<SchoolDBContext>
    {
        protected override void Seed(SchoolDBContext context)
        {
            base.Seed(context);
        }
    }

همان طور که در کد بالا می بینید ما کلاس جدید SchoolDBInitializer را که از DropCreateDatabaseAlways مشتق گرفته شده است را ایجاد کرده ایم.

تنظیم db initializer در فایل configuration :

شما می تواند db initializer در فایل configuration را نیز تنظیم کنید.برای مثال برای تنظیم پیش فرض initializer در app.config باید:

کد:
xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="DatabaseInitializerForType SchoolDataLayer.SchoolDBContext, SchoolDataLayer"         value="System.Data.Entity.DropCreateDatabaseAlways`1[[SchoolDataLayer.SchoolDBContext, SchoolDataLayer]], EntityFramework" />
      appSettings>
    configuration>

و همین طور می تواند db initializer به شرح زیر به صورت سفارشی تنظیم کنید.

کد:
    xml version=”1.0” encoding=”utf-8” ?>
    <configuration>
      <appSettings> 
        <add key=”DatabaseInitializerForType SchoolDataLayer.SchoolDBContext, SchoolDataLayer”
             value=”SchoolDataLayer.SchoolDBInitializer, SchoolDataLayer” />
     appSettings>
    configuration>

بنابراین بدین طریق شما می توانید استراتژی DB initialization برای Application تان به کار ببرید.
اگر به هم ریختگی ای میبینین به بزرگی خودتون ببخشین..خیلی سعی کردم همه چی مرتب باشه...اما به هر حال می تونین مطالب رو از آموزش Entity Framework به صورت کامل و همینطور با فرمت مناسب دنبال کنین.

در فصل بعدی از آموزش Entity Framework به بررسی آموزش غیر فعال کردن مقداردهی اولیه DB در Code-first می پردازیم.

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

 

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : غیر فعال کردن مقداردهی اولیه DBدرCode-firs

در این بخش از آموزش Entity Framework می خواهیم به بررسی روش غیر فعال کردن مقداردهی اولیه DBدرCode-firs بپردازیم.

شما همچنین می توانید DB initializer را در Application تان غیر فعال کنید.فرض بر این که در محیط تولید شما نمی خواهید هیچ داده ای را از دست بدهید ، خوب می توانید DB initializer همان طور که در پایین نشان داده شده است را غیرفعال کنید.

کد:
public class SchoolDBContext: DbContext
   {
   public SchoolDBContext() : base("SchoolDBConnectionString")
  {
//Disable initializer
Database.SetInitializer<SchoolDBContext>(null);
}
public DbSet<Student> Students { get; set; }
public DbSet<Standard> Standards { get; set; }
}


شما همچنین می توانید DB initializer را در فایل configurationرا هم غیر فعال کنید.

کد:
< xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DatabaseInitializerForType SchoolDataLayer.SchoolDBContext, SchoolDataLayer"
value="Disabled" />
appSettings>
configuration>

در فصل بعدی از آموزش Entity Framework به بررسی آموزش غیر فعال کردن مقداردهی اولیه DBدرCode-firs می پردازیم.

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


 

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : هسته بانک اطلاعاتی در Code-First

در این بخش از آموزش Entity Framework می خواهیم به بررسی روش هسته بانک اطلاعاتی در Code-First بپردازیم.


شما همین طور می توانید در طول فرایند database initialization داده ها در جدول های پایگاه داده یتان درج کنید.اگر شما بخواهید application تان را تست کنید یا داده هایی پیش فرض برای application تان فراهیم کنید این گزینه بسیار مهم می باشد.

برای درج داده در پایگاه داده یتان ،شما باید custom DB initializer ایجاد کنید ،همانطور که در قسمت قبلی ایجاد نمودید و سپس Seed method را بر روی آن Override کنید.مثال پایین نشان خواهد داد که شما چگونه می توانید داده ی پیش فرض برای جدول Standard به همراه راه اندازی پایگاه داده School را انجام دهید.

کد:
 public class SchoolDBInitializer : DropCreateDatabaseAlways<SchoolDBContext>
{
protected override void Seed(SchoolDBContext context)
{
IList<Standard> defaultStandards = new List<Standard>();
defaultStandards.Add(new Standard() { StandardName = "Standard 1", Description = "First Standard" });
defaultStandards.Add(new Standard() { StandardName = "Standard 2", Description = "Second Standard" });
defaultStandards.Add(new Standard() { StandardName = "Standard 3", Description = "Third Standard" });
foreach (Standard std in defaultStandards)
context.Standards.Add(std);
//All standards will
base.Seed(context);
   }
}


خوشحالم که شما دوستان عزیز رو همراه خودم دارم :) تا اینجای کار خسته نباشین.

در سری بعدی از مجموعه آموزشEntity Framework آموزش استراتژی ارث بری در Code-First را با هم خواهیم داشت.


 

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : استراتژی ارث بری در Code-First

در این بخش از آموزش Entity Framework می خواهیم به بررسی روش استراتژی ارث بری در Code-First بپردازیم.

در Code-First ،طرح پایگاه داده یتان می تواند براساس طراحی کلاس های Domain تان باشد.شما می توانید Domain تان به روش شی گرا طراحی کنید،جایی که شما می توانید از ارث بری و چند ریختی در Entity Framework استفاده کنید. مدل سیستم های شی گرا یک رابطه "has a " و "is a" دارد در حالی که مدل رابطه ای مبنی بر SQL فقط یک رابطه “has a” دارد.بنابراین چگونه شی گرایی را با پایگاه داده رابطه ای به کار می برید؟

در سلسه مراتب ارث بری سه روش به شرح ذیل موجود می باشد:

1.Table per Hierarchy (TPH): این روش یک جدول را برای کل کلاس ارث بری پیشنهاد می کند.ستون تفکیک کننده که بین کلاس های ارث بری تمایز قائل می شود نیز در جدول قرار دارد.

2.Table per Type (TPT) : این روش یک جدول برای هر کلاس پیبشنهاد می کند بدین گونه که هر کلاس یک جدول ماندگار دارد.

3.Table per Concrete class (TPC) : در این روش برای هر کلاس واقعی یک جدول وجود دارد و برای کلاس انتزاعی کلاسی وجود ندارد.خوب بنابراین اگر شما در چند کلاس واقعی از کلاس انتزاعی ارث بری کنید در این صورت خصوصیات کلاس انتزاعی به بخشی از کلاس واقعی تبدیل می شود.


در فصل بعدی از آموزش Entity Framework به آموزش پیکربندی کلاس های Domainدر Code-First می پردازیم.
در صورت تمایل می توانید
مجموعه کامل آموزش Entity Framework را مشاهده نمائید.



 

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : آموزش پیکربندی کلاس های Domainدر Code-First

در این بخش از آموزش Entity Framework می خواهیم به آموزش پیکربندی کلاس های 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<Student> Students { get; set; }

public DbSet<Standard> Standards { get; set; }

public DbSet<StudentAddress> 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 در قسمت بعدی آورده شده است.


در فصل بعدی از آموزش Entity Framework به آموزش پیکربندی کلاس های Domain در Code-First می پردازیم.
در صورت تمایل می توانید مجموعه کامل آموزش Entity Framework را مشاهده نمائید.


 

tahlildadehins

کاربر تازه وارد
تاریخ عضویت
22 می 2010
نوشته‌ها
56
لایک‌ها
13
آموزش Entity Framework : تفسیر داده ها در Code-First

در این بخش از دوره آموزش Entity Framework می خواهیم به آموزش تفسیر داده ها در Code-First بپردازیم.

EF Code-First یک مجموعه از ویژگی های DataAnnotation را فراهم می کند که می توانید این ویزگی ها را روی خصوصیات و کلاس های Domain به کار برید.برای استفاده از DataAnnotation شما باید namespace, System.ComponentModel.DataAnnotations را وارد کنید. DataAnnotationبه طور اساسی شامل صفاتی برای اعتبار server side و ویژگی های مرتبط به ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍پایگاه داده می باشد.


Validation Attributes:


ویژگی های درستی(Validation) را می توانید از آموزش تفسیر داده ها در Entity Framework دنبال کنید.


Database Schema related Attributes:


ویژگی های مرتبط با طرح پایگاه داده را می توانید از آموزش تفسیر داده ها در Entity Framework دنبال کنید.


DataAnnotation example:

کد:
[Table("StudentInfo")]
   public class Student
   {
   public Student(){ }
   [Key]
   public int SID { get; set; }
   [Required(ErrorMessage="Student Name is Required" )]
   [Column("Name", TypeName="ntext")]
   [MaxLength(20), MinLength(2, ErrorMessage="Student name can not be 2 character or less")]
   public string StudentName { get; set; }
   [NotMapped]
   public int? Age { get; set; }
   [ConcurrencyCheck()]
   [Timestamp]
   public Byte[] LastModifiedTimestamp { get; set; }
   public int? MathScore { get; set; }
   public int? ScienceScore { get; set; }
   [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
   public int? TotalScore
   {
   get;
   set;
   }
   public int StdId { get; set; }
   [ForeignKey("StdId")]
   public virtual Standard Standard { get; set; }

در فصل بعدی از مجموعه آموزش Entity Framework به آموزش Fluent APIدر Code-First می پردازیم.در صورت تمایل می توانید مجموعه کامل آموزش Entity Framework را مشاهده نمائید.


 
Last edited:
بالا