Entity framework 无法使用带有实体框架的.NET Core 3.0访问数据库.SetInitializer()

Entity framework 无法使用带有实体框架的.NET Core 3.0访问数据库.SetInitializer(),entity-framework,.net-core,Entity Framework,.net Core,我希望在每次模型更改时创建数据库,我应该能够使用以下方法实现: public class MyContext : DbContext { public MyContext() { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>()); } } 公共类MyContext:DbContext{ 公共MyContext(){ SetInitializer(新

我希望在每次模型更改时创建数据库,我应该能够使用以下方法实现:

public class MyContext : DbContext {
    public MyContext() {
         Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>()); 
    }
}
公共类MyContext:DbContext{
公共MyContext(){
SetInitializer(新的DropCreateDatabaseIfModelChanges());
}
}
但是,在我的.NET Core 3.0项目中,
数据库.SetInitializer()
不可用:


如何使用项目中的
数据库.SetInitializer()
?到目前为止,我还没有遇到实体框架的其他问题。

您似乎使用的是EF Core,而不是EF 6.x。在EF Core中,您使用
HasData
protectedoverride void onmodellcreating(ModelBuilder ModelBuilder){ModelBuilder.Entity().HasData(new Store();}
@JohnyL-这还会删除旧数据库并创建新数据库吗?不会,当然-这只是插入新数据。@JohnyL-但我想在每次应用程序以调试模式运行时重新创建数据库。我帖子中的代码展示了如何在EF 6.x中做到这一点——我不能在EF Core中做同样的事情吗?