我一直在本地运行ASP.NET 4.6和EF7的MVC项目,一切正常。我跑了dnx。 ef migration用于创建数据库表的初始命令,一切运行正常。该应用程序工作。
使用Azure我有一个问题,我似乎无法运行dnx。 ef migration命令所以我的SQL数据库是空的。我已经调试了Startup.cs并正确检索了连接字符串,但表中没有。
我使用Visual Studio 2015中的“发布”选项部署到我的Azure Web App。
如何在我的网络应用上运行此命令?还有另一种生成数据库的方法吗?
由于
答案 0 :(得分:10)
似乎EF团队已经淘汰了臭名昭着的数据库初始化程序,并为版本7提供了更通用的方法。
在调用数据库之前,只需在管道中使用这些方法,
yourDbContext.Database.EnsureCreated();
创建数据库,以防它不存在和
yourDbContext.Database.Migrate();
应用迁移(如果稍后使用此功能)。上述两种方法也都有异步版本。
在我的解决方案中,我创建了一个静态类,用于初始化数据库并使用一些数据对其进行种子处理。当满足某些条件时,我从Startup类中的Configure方法调用Seed方法。