DropCreateDatabase始终在EntityFramework Core中

时间:2017-01-12 14:53:21

标签: c# asp.net-mvc entity-framework

我需要使用ASP.Net CORE和Visual Studio中的MVC为学校建立一个网站。还有一个连接到该网站的数据库,它使用Entity Framework CORE。我已经搭建了很多模型,而DbContext附带了它。 实际问题:我希望程序在每次运行程序时都使用Entity Framework CORE删除数据库并创建一个新数据库。

我发现了很多关于同样问题的文章,但是他们提供的解决方案以及StackOverflow上用户对其他问题的回答并不是最新的'到最新版本的Entity Framework。在旧版本中,有一个简洁的解决方案来实现我的预期目标:只需使用DropCreateDatabaseAlways和seed即可立即将数据添加到数据库中。 这个选项在新的Core版本中消失了(它还没有得到支持)。

在寻找漫长而痛苦的时间之后,我无法找到适用于此版本的实体框架的任何内容。

所以我决定问你们...... 脚手架DbContext就是这样开始的。我不认为实际上需要更多这类的代码,因为那样的模型构建器调用和DbSets被实例化。但是告诉我你是否需要更多。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>

非常感谢任何帮助。

抱歉英语不好。

1 个答案:

答案 0 :(得分:1)

是的,正如您所说DropCreateDatabaseAlways是EF 6.在EF Core中,我认为您需要执行以下操作:

render() {
    this.state.service.length == 0 && return null
    ...
}

在此处查看更多信息: How and where to call Database.EnsureCreated and Database.Migrate?