我目前正在使用空白的ASP.NET网络项目模板玩EF7的beta4。
在启动现有迁移后,导致在localdb中创建表,会发生以下情况:
奇怪的是,当我清理migration-folder时,包括删除ApplicationDbContextModelSnapshot.cs并运行 dnx。如果迁移添加两次,我会收到以下错误:
dnx:System.InvalidOperationException:未配置任何数据存储。在设置服务时,通过在DbContext类或AddDbContext方法中覆盖OnConfiguring来配置数据存储。
未创建第二次迁移。当我查看创建的迁移时,它包含所有表,而数据库已经配置,因此您应该期望迁移为空。
然后,当我删除第一次迁移并再次运行add migration命令时,所有迁移都被正确创建,即作为空文件。
有人可以向我解释一下吗?这是预期的行为还是beta4中的错误?
来自前EF版本的人的提示: *不再使用K命令框架。 *不再使用Add-Migration cmdlet。 两者都被dnx取代。 (点)。 (dnx = .NET执行环境)
一些参考文献: https://github.com/aspnet/EntityFramework/wiki/Entity-Framework-Design-Meeting-Notes---September-11,-2014 http://jameschambers.com/2015/05/project-k-dnvm-dnx-dnu-and-entity-framework-7-for-bonus-points/
答案 0 :(得分:0)
删除ApplicationContext
的构造函数。这是启用部署的临时解决方法,但它会干扰迁移命令。