實體框架指導

asp.net c# entity-framework

我正在嘗試使用SQL Server 2008設置實體框架。我正在使用Guids作為我桌子上的密鑰。有沒有辦法設置它,以便密鑰由數據庫自動生成?我嘗試將“RowGuid”設置為true,並將列的默認值設置為“(newid())”。無論哪種方式,映射類仍然需要我在C#端給它一個Guid。有任何想法嗎?

一般承認的答案

還沒有

17.4。我可以使用服務器生成的guid作為我的實體密鑰嗎?

不幸的是,在EF的v1中,這不受支持。雖然SQL Server可以有一個類型為“uniqueidentifier”的列,並將其默認值設置為“newid()”,但使用SQL Server 2000時,沒有什麼好方法可以提取服務器在執行插入時生成的值。但是,這可以在更新版本的SQL Server上完成,因此我們應該在EF的未來版本中找到一種特殊情況下這種支持的簡潔方法,以便在允許它而不是它的那些數據庫上支持它。其他。目前,解決方法是在客戶端(最好是在對象的構造函數中)而不是在服務器上生成guid。


熱門答案

就個人而言,我認為任何使用EF的人都願意放棄與SQL Server 2000的兼容性來獲得他們需要的功能。看起來我需要在EF中執行的每個非常重要的事情都不受支持,因為他們必須保持與SQL Server 2000的兼容性。

什麼時候結束!



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因