如果我对我的EF 5.0模型进行任何更改,VS似乎没有看到更改。我已经尝试添加一个新表,它在模型中很好地显示,但是如果我尝试在某个地方使用它,表格不会出现在intellisense中,我也无法使用它。
我还尝试更改列的数据类型,如果我查看.edmx模型文件,它再次显示正常,但是Visual Studio仍会在该字段上给出编译器错误,因为我试图分配不正确的数据类型。
如果我完全删除EDMX并重新创建它,那么更改工作正常。但每当我能够“从数据库更新模型”并重建时,从数据库重新生成是很烦人的。
我之前从未遇到过EF的这些问题。有谁知道这个问题的原因或解决方法?
感谢。
答案 0 :(得分:67)
首先构建您的项目,如果成功,请右键单击“model.tt”文件,然后选择运行自定义工具。它会解决它。
再次构建项目并指向“model.context.tt”运行自定义工具。它将更新 DbSet 列表。
答案 1 :(得分:16)
如果这是edmx文件位于文件夹中的错误,现在已修复 - 下载并安装VS 2012 Update 1.您可以从以下地址获取:http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update
答案 2 :(得分:15)
这显然是实体框架中的一个错误,当您的Edmx文件位于文件夹中时,模型不会更新。 目前可用的解决方法是:
希望帮助那里的人。
链接:http://thedatafarm.com/blog/data-access/watch-out-for-vs2012-edmx-code-generation-special-case/
答案 3 :(得分:11)
我也有这个问题,但是,右键单击model.tt文件并运行"自定义工具"对我来说并没有任何区别,但是Ghlouw提到的页面上的评论使用菜单项" BUILD>转换所有T4模板。"哪个为我做了
答案 4 :(得分:7)
答案 5 :(得分:3)
我搜索了这个答案,因为我在VS2013中遇到了类似的情况。就我而言,我发现了一个简单的" Clean Solution
"清除了所有旧的定义。
答案 6 :(得分:0)
你在N-Tiered项目工作吗?如果是这样,请在使用之前尝试重建数据层(或存储EDMX文件的任何位置)。
答案 7 :(得分:0)
我也遇到过这个问题,没有在model.tt文件下生成任何类。在我的情况下,问题是我在SQL2012中如何构建数据库的问题。我将表中的列设置为可空,这也是一个外键,虽然我认为你应该能够做到这一点但它在EF5中引起了一个问题。
一旦清除并从数据库更新图表,它们就会重新出现。
EF5 VS2013
答案 8 :(得分:0)
更换笔记本电脑后,当我更新实体框架模型时,代码中看不到存储过程
我做了什么来使这个工作
结论