Linq to SQL创建重复的设计器文件

时间:2011-10-19 10:41:11

标签: c# linq-to-sql

我的Linq to SQL DBML文件有一个奇怪的错误,当我保存它时,而不是保存到现有的设计器文件,创建一个重复的文件。

这会导致整个地方出错,因为file.designer.cs和file1.designer.cs中的数据上下文构造函数之间存在歧义

有没有办法修复此错误,不涉及删除和重新创建dmbl文件。因为这个错误发生在我的所有DBML文件中,其中一些文件相当大。

enter image description here

上图显示了我遇到的问题。

2 个答案:

答案 0 :(得分:28)

不确定是什么导致了这一点(但Marc关于文件是只读还是未检出的建议似乎可能),但该关联在.proj文件中有描述。如果您使用文本编辑器打开该文件,您应该在以下某处看到:

<ItemGroup>
<None Include="Minerva.dbml">
  <Generator>MSLinqToSQLGenerator</Generator>
  <LastGenOutput>Minerva1.designer.cs</LastGenOutput>
  <SubType>Designer</SubType>
</None>

Minerva1.designer.cs替换为Minerva.designer.cs。您现在可以从项目中删除或排除Minerva1.designer.cs文件,并在下次调用生成器时,它将按预期覆盖Minerva.designer.cs

答案 1 :(得分:3)

我有同样的问题。事实证明版本控制正在保存文件。构建过程无法重新创建文件,因此它会创建一个新文件。由于此文件是自动生成的,因此可以安全地从版本控制中删除。我正在使用git进行版本控制。