我有一个数据库第一个ASP.NET MVC 5 EF6项目。我正在使用VS2015 CE。当我更改我的数据库(SQL Server 2012)时,我会转到VS以更新我的edmx文件,如下所示:
当我有一个包含列ID,Column1,Column2和I的表时,将Column2更改为Column2Changed,我的edmx有一个模型ID,Column1,Column2,Column2Changed而不是ID,Column1,Column2Changed。
此外,当我更改列的数据类型时,此更改不会应用于我的edmx。
答案 0 :(得分:5)
这是Entity Framework的一个众所周知的问题。
"从数据库更新模型"继续是一个昙花一现的事情。有时候它有效,通常它没有。
就个人而言,我只是删除了"更新了"我的.edmx文件中的表,然后重新添加它。然后它似乎工作正常。
答案 1 :(得分:5)
这对我有用:-
在更新EDMX文件后构建项目。
在解决方案资源管理器中右键单击您的.tt文件。
选择“运行自定义工具”选项。
这将更新.tt文件。
答案 2 :(得分:1)
确保从“更新”选项卡中选择对象
答案 3 :(得分:1)
这对我有用:
1。更新EDMX文件后构建项目。
2。在解决方案资源管理器中右键单击您的.tt文件。
3。选择“运行自定义工具”选项。
这将更新.tt文件。
答案 4 :(得分:0)
我曾多次遇到此问题。对于简单的问题,我已经通过在代码编辑器中打开edmx文件进行了编辑(“打开方式...”>“源代码(文本)编辑器”)。
通过搜索EntityType Name =“您的表名”来查找表。
通常,我看到一个看起来不正确的条目,将其删除,保存并关闭文件。按常规方式打开edmx并刷新模型,Presto问题已解决。
答案 5 :(得分:0)
遇到此问题时,我通过更改用户名和密码解决了我的问题...所以我要说,请确保您的edmx中具有有效的连接字符串
答案 6 :(得分:0)
更新或刷新后未获得预期结果。 我的工作如下: 1.我添加了程序但未导入它。 2.我使用文本编辑器打开了edmx,并添加了具有复杂类型的返回类型,就像其中已经存在的其他类型一样。 3.像其他程序一样添加所有值。
那解决了我的问题!
答案 7 :(得分:-1)
我遇到了同样的问题。最合理的解决方案可能是删除.edmx文件并重新生成它。请记住,如果没有任何工作,您应该首先尝试更新模型,然后执行我刚才所说的。