2010-01-27 93 views
1

我在我的數據庫中的兩個表 - 分類和部門,都包含相同的列 - 編號,名稱及代碼。LINQ實體數據模型生成的代碼錯誤 - 型「DBContexts.Category」已經包含了「ID」的定義

我可以創建使用Visual Studio 2008設計一個新的實體模型,並添加部和正常工作 - 我可以使用LINQ查詢數據庫,ALLS好。

當我更新模型,並添加類別表,當我嘗試編譯生成的代碼引發以下錯誤。

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 

我猜這是什麼做的事實,系和類別具有相同的列名 - 但它並沒有縫有一個與代碼列的問題。

任何想法如何解決這個問題?如果我更新模型,任何更改都將被刪除,所以我無法真正去解決生成的代碼。

乾杯

回答

8

當您更新.dbml文件的文件了.Designer.cs也再生,但如果該文件是不可訪問生成一個新文件,並添加到項目中。由於這兩個文件中的類都是部分的,但在編譯時具有相同的屬性和字段,所以會出現此錯誤。

您可以檢查是否有隻爲您的上下文一個設計器生成的文件。您可以通過右鍵單擊課程名稱並選擇「轉到定義」 - 它會顯示包含您班級定義的所有文件。

+0

不錯!我有一個不同的數據庫的第二個上下文,該數據庫也有一個帶有ID和名稱的類別表 - 我不知怎麼的忘了這個。謝謝 – Tom 2010-01-27 11:27:13

相關問題