2012-10-30 79 views
2

我正在創建一個使用linq to sql來創建,編輯和刪除汽車和比賽結果的asp.net站點。每輛車都有自己的號碼,它已被設置爲主鍵。每個結果都有一個結果編號,結果和汽車之間有多對一的關係。在LINQ to SQL中選擇主鍵值

要創建一個新的汽車對象,我使用Car DataContext,它根據需要使用DataContext.SubmitChanges()函數自動更新數據庫。但它不會更新主鍵,而是通過遞增最大的當前值來選擇新的主鍵。

由於每輛車的號碼都很重要,有沒有辦法使用這種方法選擇主鍵值?或者我應該將車號分開,並使用單獨的代碼來確保身份證是唯一的?

+0

您的汽車表具有自動增量(標識)鍵。這就是爲什麼你得到遞增的主鍵值。你可以在你的問題中粘貼你的Car table'create'語句。 – Habib

回答

2

正如你在你的問題中所提到的,保持Car號碼與它的ID是分開的。原因是有兩個汽車可能在某些時候具有相同的數字,除此之外,數據庫無論如何都選擇其自己的值。

只需在您的Car表中添加另一個字段來記錄其編號,您應該很好。

有關更多信息,請參閱Update primary key value using entity framework

+0

謝謝。我使用主鑰匙作爲汽車號碼的原因是因爲汽車號碼需要不同。我將實施一個新的領域,並添加一些邏輯來檢查它是唯一的。 –