【问题标题】:Updating EF6 edmx model causes new model file to be created更新 EF6 edmx 模型会导致创建新模型文件
【发布时间】:2015-05-26 15:01:12
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    听起来您的模型/tt 文件和输出文件之间的链接已损坏。您可以在文本编辑器中打开项目 (vbproj) 文件并查找 test.edmx 或 testmodel.tt。您应该在某处的节点内找到它们之一或两者。封闭节点中的文件是依赖于它们的文件。猜测一下,您会发现这是当前的 TestModel1.vb。您可以尝试编辑它并重新打开项目,但最简单的方法可能是排除您现有的 TestModel.vb 并让 Visual Studio 为所欲为。毕竟应该是隐藏文件

    【讨论】:

    • 就是这样。我在记事本中打开项目文件,发现 TestModel.tt 文件链接到 TestModel1.vb 而不是 TestModel.vb。这一定是在 EF 4 和 EF6 之间升级期间发生的。谢谢!好收获!
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多