2012-06-12 18 views
1

我想有一個更新每個更改(插入,修改)的字段,基本上,這是一個「ModificationDate」。SQL Server&EF:如何有一個計算列

我看到EF中有一個「Computed」StoreGeneratedPattern。但是由於這不會設置日期,而只是採用數據庫生成的值,所以我需要知道我應該如何在數據庫上對每個修改/插入設置相當於GetDate()的默認值?

+1

幾乎與以下內容重複:http://stackoverflow.com/questions/7737945/how-to-create-trigger-for-auto-update-modified-date-with-sql-server-2008 –

回答

0

您需要創建INSTEAD OF更新trigger,您可以在其中獲取數據並執行更新,或者觸發您執行更多更新以設置日期的觸發器AFTER UPDATE

覆蓋SaveChanges並在保存到數據庫之前在應用程序中設置日期會更容易。

+0

認真?有一個「計算列規範」,在表設計器中有一個公式和一個IsPersisted。我在MCTS考試中將此Computed StoreGeneratedPattern視爲正確的答案,所以我認爲這是更好的方法 – J4N

+0

'StoreGeneratedPattern.Computed'僅告知EF數據庫在數據庫中生成,因此它不會發送值並在查詢後查詢值更新但您必須在數據庫中進行生成。 –

+0

是的,我知道,但是如果它不能用來指示如何生成這個列,那麼這個「計算列說明」是什麼? – J4N