Entity framework 从未调用实体框架种子方法
我将此代码放入Entity framework 从未调用实体框架种子方法,entity-framework,ef-code-first,entity-framework-6,Entity Framework,Ef Code First,Entity Framework 6,我将此代码放入global.asax文件: System.Data.Entity.Database.SetInitializer(new BcoInitializer()); ApplicationDbContext c = new ApplicationDbContext(); c.Database.Initialize(true); var x = c.ProductCategories.ToList(); 这将重新创建我的数据库。 但是Seed()从未被调用,我也不知道为什么 publi
global.asax
文件:
System.Data.Entity.Database.SetInitializer(new BcoInitializer());
ApplicationDbContext c = new ApplicationDbContext();
c.Database.Initialize(true);
var x = c.ProductCategories.ToList();
这将重新创建我的数据库。但是
Seed()
从未被调用,我也不知道为什么
public class BcoInitializer : System.Data.Entity.DropCreateDatabaseAlways<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
base.Seed(context);
var currencies = new List<Currency>
{
new Currency{CurrencyId="USD", Symbol="$"}
};
公共类BCO初始化器:System.Data.Entity.DropCreateDatabaseAlways
{
受保护的重写无效种子(ApplicationDbContext上下文)
{
种子(上下文);
var货币=新列表
{
新货币{CurrencyId=“USD”,Symbol=“$”}
};
这是我的背景:
public ApplicationDbContext()
: base("DefaultConnection")
{
Database.SetInitializer(new CreateDatabaseIfNotExists<ApplicationDbContext>());
}
public ApplicationDbContext()
:base(“默认连接”)
{
SetInitializer(新的CreateDatabaseIfNotExists());
}
为您的上下文类尝试以下操作:
public ApplicationDbContext()
: base("DefaultConnection")
{
Database.SetInitializer(new BcoInitializer());
}
我知道这很简单:)谢谢