使用EF迁移与SQL Server(不表达/ localdb)

时间:2015-03-24 09:40:35

标签: entity-framework ef-migrations

EF新手。 我首先使用代码但是从初始数据库创建。 第一个问题是当我向模型添加外键后从控制台执行add-migrations后,它创建了迁移以创建整个表,而不是仅使用AddForeignKey(....),将外键添加到现有表中 当我尝试更新数据库时,它尝试创建一个localdb数据库,我得到错误 Directory lookup for the file "C:\src\Project\App_Data\TheDatabase.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。 好像我需要一些配置才能让它变成行动。 欢迎任何有用的建议。

2 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,虽然这可能更像是一种解决方法 我确实改变了连接工厂,但没有做任何事情。仍尝试使用App_Data文件夹并在那里查找MDF。 我发现了一个工作。包管理器允许您覆盖连接字符串,所以我只是这样做,它工作正常。 至于我的问题的其他部分,为什么它试图创建表格。首先我需要做的是使用Add-Migration和-IgnoreChanges,然后update-database将存储一个初始的空白迁移,所以从那以后,你所做的任何更改都只是我所指的那些增量。 这是链接。 https://msdn.microsoft.com/en-us/data/dn579398.aspx?f=255&MSPPError=-2147217396 感谢那些提供帮助的人。

答案 1 :(得分:-1)

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

如果它没有帮助,您可以发布您的连接字符串和迁移次数吗?