2012-06-27 56 views
2

我在visual studio 2010 SP1中創建了一個EDMX。它是從現有的數據庫構建而成的。edmx計算列

有許多數據庫生成的列(即,不可爲空且使用GETDATE()作爲默認值)。

EDMX雖然似乎沒有檢測到這些列,並沒有將「StoreGeneratedPattern」設置爲「Computed」。我將不得不手動設置這些東西來工作!

數據庫非常大,所以這並不理想。

這是一個EDMX世代的錯誤還是我可能做錯了什麼?

非常感謝 卡爾

回答

1

這不是錯誤。它只是以這種方式工作,因爲默認約束設置列到當前日期不是計算列。計算列在每次保存記錄時都會更改其值 - 例如時間戳。此外,使用StoreGeneratedPattern設置爲IdentityComputed的屬性不能從您的應用程序中設置。您的專欄接受其他值,因此EF無法將其存儲爲默認生成 - 您可以自行決定。

如果要爲所有記錄使用來自數據庫的默認值,請將StoreGeneratedPattern設置爲Identity。它將確保在插入期間設置和查詢該值。將模式設置爲Computed將在每次更新後創建不必要的查詢。