更新entity framework模型后,Visual Studio不会看到更改

如果我对EF 5.0模型做了任何更改,VS似乎没有看到更改。 我已经尝试添加一个新的表格,在模型中显示出来,但是如果我尝试在某处使用它,表格不会显示在intellisense中,我不能使用它。

我也试着改变列的数据types,如果我看.edmx模型文件再次显示,但Visual Studio仍然会给我编译错误,因为我试图分配不正确的数据types。

如果我彻底删除EDMX,并重新创build它,那么更改工作正常。 但每次我应该能够从数据库更新模型并重build时,从数据库重新生成是很麻烦的。

之前我从来没有遇到EF的这些问题。 有谁知道这个问题的原因或解决办法?

谢谢。

如果这是EDMX文件位于一个文件夹中的错误,现在已经修复 – 下载并安装VS 2012更新1.您可以从http://www.microsoft.com/visualstudio/eng/downloads#d-视觉工作室2012年更新;

首先build立你的项目,如果成功的话,在上下文中指向“model.tt” 。 然后运行自定义工具 。 它会解决它。

再次构build您的项目,并指向“model.context.tt”运行自定义工具。 它会更新DbSet列表。

这显然是Entity Framework中的一个错误,当您的Edmx文件位于文件夹内时,该模型不会更新。 目前可用的解决方法是:

  1. 安装VS 2012 Update 1,它应该修复这个bug。
  2. 如果您不能安装Update 1,则必须右键单击model.tt T4模板文件,然后单击运行自定义工具。 这将为您更新课程。

希望能帮助那里的人。

链接: http : //thedatafarm.com/blog/data-access/watch-out-for-vs2012-edmx-code-generation-special-case/

您应该有一个<XXX>Model.tt文件,这是生成模型类的T4模板。

如果它在不同的项目中,保存edmx文件时不会更新。

无论如何,请在解决scheme资源pipe理器中右键单击它并selectRun Custom Tool

我也有这个问题,但是,右键单击model.tt文件并运行“自定义工具”对我来说没有任何区别,但在页面上的链接提到使用菜单项“BUILD >转换所有T4模板。“ 这是为我做的

我search这个答案,因为我在VS2013有类似的情况。 就我而言,我发现一个简单的“ Clean Solution ”清除了所有的旧定义。

右键单击.tt文件并select“运行自定义工具”,它应该更新它: 看到图像

你在做一个N阶段的项目吗? 如果是这样,在使用之前,请尝试重build您的数据层(或者您的EDMX文件存储在哪里)。

我也遇到过在model.tt文件下面没有生成类的问题。 在我的情况下,这是关于如何在SQL2012中构build数据库的问题。 我在表中设置一个列可以为空,这也是一个外键,虽然我认为你应该能够做到这一点在EF5中造成了一个问题。

一旦这个被清除,图表从数据库更新,他们再次出现。

EF5 VS2013