2016-08-28 53 views
0

我對Oracle使用了數據庫優先方法。我的一張桌子沒有主鍵。它只有2列是其他表的外鍵。我已經從數據庫(添加 - 新建項目 - ADO.NET實體數據模型)在ASP.NET MVC項目中生成模型。應該每個表都有使用ADO.NET的主鍵嗎?

但是還有一個問題 - 我得到一個錯誤:

Error 159: EntityType 'DbModel.Store.SomeTableWithoutPK' has no key defined. Define the key for this EntityType. E:\Git_repo\ZZ\ZZ.Domain\DAL\DbModel.edmx

這是否意味着每個表必須有一個主鍵?我能避免這種情況嗎?或者我將被迫添加一個主鍵到這個表的新列?當然,也可以將主鍵應用於多列,但是否有必要?

回答

1

每個表應該有一個主鍵以提高數據庫效率,以便您可以編輯記錄。

你不需要在你的2列的表

在設計師創建主鍵的新列,選擇兩列,並同時使用兩者作爲主鍵。只要空位不允許,並且沒有重複項,您應該可以。

由於這是一個多對多的表,你正在使用EF,你以後可能會發現添加日期時間列於表GETDATE()設置爲默認值將會使數據維護更加容易

+0

DiPix,我的回答幫你? – Mike

相關問題