View Full Version : سوال: ایجاد داده در جداول پایه در codefirst
Iran58
یک شنبه 01 بهمن 1396, 19:03 عصر
سلام
فرض کنید یک برنامه را با Codefirst طراحی کرده ایم که دارای تعدادی جداول پایه مانند جدول جنیسیت و وضیعت و...می باشد
حال چگونه می توان برای بار اول که این برنامه اجرا میشود داده های این جداول را چر کنم و در اجرا های دیگر این داده ثبت نشوند
باتشکر
ali_md110
یک شنبه 01 بهمن 1396, 22:13 عصر
سلام
وقتی Migration رو در برنامتون فعال کردید در کلاس Configurationدر متد Seed داده های دلخواهتون اضافه کنید
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);
base.Seed(context);
}
}
سپس در سازنده کلاس دیتاکانتکست این کلاس کانفیک رو وهله سازی کنید
public class SchoolContext: DbContext
{
public SchoolContext(): base("SchoolDBConnectionString")
{
Database.SetInitializer(new SchoolDBInitializer());
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.