我还尝试更改列的数据类型,如果我查看了.edmx模型文件,它也可以很好地显示出来,但是Visual Studio仍然会在该字段上给我编译器错误,因为我试图分配不正确的数据类型。
如果我完全删除EDMX,然后重新创建它,那么更改就可以正常工作。但是每次都应该能够从数据库中“更新模型”并重新构建,这样做很繁琐。
我以前从未遇到过这些EF问题。有人知道这个问题的原因或解决方法吗?
谢谢。
首先构建您的项目,如果成功,请右键单击"model.tt"文件并选择运行自定义工具。这将修复它。
再次构建您的项目,并将指向"model.context.tt"运行自定义工具。它会更新DbSet列表。
显然,这是实体框架中的一个错误,即当您的 Edmx 文件位于文件夹内时,模型没有得到更新。目前可用的解决方法如下:
希望能帮助到有需要的人。
链接:http://thedatafarm.com/blog/data-access/watch-out-for-vs2012-edmx-code-generation-special-case/
如果这是与位于文件夹中的edmx文件有关的错误,则现在已经修复-请下载并安装VS 2012更新1。您可以从以下网址获取:http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update
我也遇到了这个问题,但右键单击model.tt文件并运行“自定义工具”在某种程度上对我没有任何作用,但Ghlouw链接页面上的评论提到使用菜单项“BUILD > Transform All T4 Templates.” 这个方法对我起了作用
<XXX>Model.tt
文件,它是生成你的模型类的T4模板。Run Custom Tool
。我搜索这个答案是因为我在VS2013中遇到了类似的情况。在我的情况下,我发现一个简单的 "Clean Solution
" 清除了所有旧的定义。
我也遇到了这个问题,即在model.tt文件下没有生成任何类。在我的情况下,这是由于我在SQL2012中构建数据库时存在问题。我将表中的一列设置为可空,该列还是外键,尽管我认为你应该能够这样做,但在EF5中会导致问题。
一旦清除了这个问题,并从数据库更新了图表,它们就重新出现了。
EF5 VS2013
更换笔记本电脑后,当我更新实体框架模型时,代码中看不到存储过程
我所做的使其正常工作的方法
结论