在SQL Server中使用EF迁移(Not express/localdb)



EF新增功能。我首先使用代码,但是从初始数据库创建的。第一个问题是,当我向模型添加外键时。从控制台执行添加迁移后,它创建了创建整个表的迁移,而不仅仅是使用AddForeignKey(....),向现有表添加外键当我尝试更新数据库时,它试图在下创建一个localdb数据库,但我得到了错误 Directory lookup for the file "C:srcProjectApp_DataTheDatabase.mdf" failed with the operating system error 2(The system cannot find the file specified.). CREATE DATABASE failed. Some file names listed could not be created. Check related errors.这是有道理的,因为我没有使用sqlexpress。我似乎需要一些配置来引导它采取行动。欢迎任何有用的建议。

我找到了一个解决方案,尽管这可能更像是一个变通方法我确实更改了连接工厂,但它什么也没做。仍然尝试使用App_Data文件夹,并在那里查找MDF。不过我找到了一个变通办法。包管理器允许您覆盖连接字符串,所以我只是这样做了,它工作得很好。至于我问题的另一部分,关于它为什么试图创建表。我首先需要做的是使用带有-IgnoreChanges的添加迁移和更新数据库,然后将存储一个初始的空白迁移,因此从那时起,您所做的任何更改都将只是我所指的增量更改。这是链接。https://msdn.microsoft.com/en-us/data/dn579398.aspx?f=255&MSPP错误=-2147217396感谢那些提供帮助的人。

希望这能有所帮助。基本上,EF需要数据库的第一个快照来创建模型类作为初始状态,之后可以添加迁移。

如果没有帮助,你能公布你的连接字符串和迁移次数吗?

最新更新