LINQ实体数据模型生成的代码错误 - 类型'DBContexts.Category'已经包含'ID'的定义

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列出现问题.

我有什么想法可以解决这个问题?我不能真正搞乱生成的代码,因为如果我更新模型,任何更改都将被删除.

干杯

Bra*_*nov 8

更新.dbml文件时,还会重新生成.designer.cs文件,但如果无法访问此文件,则会生成新文件并将其添加到项目中.由于两个文件中的类都是部分的,但在编译时具有相同的属性和字段,因此会出现此错误.

您可以检查是否只有一个设计器生成的文件用于您的上下文.您可以通过右键单击类的名称并选择"转到定义"来执行此操作 - 它将显示包含类定义的所有文件.