更新EF6 edmx模型会导致创建新的模型文件

时间:2015-05-26 15:01:12

标签: c# sql-server vb.net entity-framework entity-framework-6

我正在使用EF 6.1和VS中下载的T4模板。当我尝试使用新信息更新EF模型,或者只是从我的数据库发出刷新时,模型文件会重复,并且会出现大量错误。

因此,例如,我的模型文件名为Test.edmx,其中包含名为Test.Designer.vb和TestModel.tt的子文件。 TestModel.tt有一个名为TestModel.vb的子文件,它似乎包含我所有的实体框架模型。

当我右键单击设计图面并选择“从数据库更新模型”,并添加新实体或刷新现有实体,而不是更新TestModel.vb文件时,它会创建一个名为TestModel1的全新文件。 VB。一旦发生这种情况,我会得到数千个重复的项目例外,因为现在有一个双打。

为什么会发生这种情况,我该如何解决?配置错误了吗?此模型以前使用EF4,并使用这些说明直接升级到6。 https://msdn.microsoft.com/en-us/data/upgradeef6.aspx

1 个答案:

答案 0 :(得分:0)

听起来你的model / tt文件和输出文件之间的链接已被破坏。您可以在文本编辑器中打开项目(vbproj)文件,然后查找test.edmx或testmodel.tt。您应该在某个节点内找到其中一个或两个。封闭节点中的文件是依赖于它们的文件。猜测你会发现这是目前的TestModel1.vb。您可以尝试编辑它并重新打开项目,但最简单的方法可能是排除现有的TestModel.vb并让visual studio自行完成。毕竟它应该是一个隐藏文件