Tom*_*Tom 1 .net c# linq entity-model linq-to-sql
我的数据库中有两个表 - 类别和部门,它们都包含相同的列 - ID,名称和代码.
我可以使用Visual Studio 2008设计器创建一个新的实体模型并添加部门,它工作正常 - 我可以使用LINQ查询数据库,一切都很好.
当我更新模型并添加Category表时,生成的代码在我尝试编译时会抛出以下错误.
The type 'DBContexts.Category' already contains a definition for 'ID'
The type 'DBContexts.Category' already contains a definition for '_ID'
The type 'DBContexts.Category' already contains a definition for 'Name'
The type 'DBContexts.Category' already contains a definition for '_Name'
A partial method may not have multiple defining declarations
Run Code Online (Sandbox Code Playgroud)
我想这与Department和Category具有相同的列名这一事实有关 - 但它不会导致Code列出现问题.
我有什么想法可以解决这个问题?我不能真正搞乱生成的代码,因为如果我更新模型,任何更改都将被删除.
干杯
更新.dbml文件时,还会重新生成.designer.cs文件,但如果无法访问此文件,则会生成新文件并将其添加到项目中.由于两个文件中的类都是部分的,但在编译时具有相同的属性和字段,因此会出现此错误.
您可以检查是否只有一个设计器生成的文件用于您的上下文.您可以通过右键单击类的名称并选择"转到定义"来执行此操作 - 它将显示包含类定义的所有文件.