2010-06-17 100 views
0

我想使用EF4和所謂的GUID生成服務器端的新功能。我有一個GUID主鍵的表,其默認值在SQL Server中設置爲NewID()。但是,我已經嘗試將StoreGeneratedPattern設置爲Identity和Computer,但都不起作用。我在MSDN上發現了這個鏈接,其中有衝突的信息。有人說它應該有效,有些則不會。實體框架4主鍵作爲GUID和自動生成

http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/72f0045d-1619-4044-bf50-c6eb5091995e

任何人都可以證實這是否應該或不應該工作?

回答

0

如果您設置StoreGeneratedPattern,它在4.0中工作。它在3.5中不起作用。只有在GUID PK上有聚簇索引時,「低效索引」註釋纔是真實的。如果您的聚集索引位於其他地方,則爲false。

+0

所以你應該將StoreGeneratedPattern設置爲Computed或Identity?仍然沒有運氣,在Identity Int和BigInt字段上工作正常,但在任何UniqueIdentifier字段上繪製空白。 – AKoran 2010-06-18 15:07:42

+0

身份。你有沒有改變SSDL?看到這篇文章:http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/ – 2010-06-18 15:17:39

+0

是的,我看到,所以實際上它並不真正使用只有設計師。另一個缺點是您必須始終記住在從數據庫刷新模型後重新放置StoreGeneratedPattern。不是最優秀的解決方案!但是,這些都不是你的錯。謝謝你指出我正確的方向。 – AKoran 2010-06-18 17:19:14