2010-09-17 41 views

回答

0

LINQ-to-SQL在單個字段int作爲主鍵時表現最佳。如果您有一個複合主鍵,最好的辦法是使用一個整數字段爲該表創建一個代理鍵。

+1

因爲LinqToSql與複合主鍵一起使用,所以您不需要在不合適的時候添加代理整數(例如,如果組合鍵自然強制實現所需的唯一性)。相反,您可以在DBML文件中手動將2列屬性設置爲「Primary Key = True」,並且LinqToSQL將按預期工作。 – 2014-11-25 14:53:41

+0

你絕對正確。您也可以創建代理並在多個列上指定唯一的約束。問題在於您是否希望手動管理組合主鍵或允許LINQ-to-SQL自己管理單個整數鍵。我更喜歡單獨的整數主鍵,主要是因爲我不是複合外鍵的粉絲。你的經驗和喜好可能會有所不同... – 2014-11-25 18:09:19

+0

我完全同意盧克。創建一個代理鍵只是爲了讓Linq能夠快樂地開發SQL並不是一個合理的理由。 – 2016-07-22 05:49:29