2012-01-07 48 views
3

使用實體框架CodeFirst,我如何創建一個獲取與當前時間戳每次記錄插入該表填充的創建日期時間列,並具有修改日期時間列時間戳生成加班一行是否更新? Rails在默認情況下執行此操作,我希望EF生成的數據庫也可以這樣做,但事實並非如此。這是可以用數據註釋完成的事情嗎?如果是這樣,怎麼樣?EF CodeFirst:Rails的風格創建和修改列

謝謝!

回答

4

它不支持EF。 EF不會自動爲您創建這些列。你必須要麼做自己:

  • 在每一個實體CreatedModified性能要保持這些值。此外,還必須手動維護應用程序中的這些列(common approach是壓倒SaveChanges,並相應設置值)。
  • 如果您不需要這些值映射(你休想在應用程序中使用它們,你很高興與數據庫中的邏輯),可以創建custom database initializer這將執行您的自定義SQL改變表,並添加這些列,Created列的默認約束和Modified列的更新觸發器。
+0

Pefect!謝謝!但要清楚的是,沒有辦法通過數據註釋來實現這一點? – 2012-01-08 22:40:05

+1

沒有因爲數據註解不要在這些屬性中添加額外的邏輯來保值,目前EF不允許你添加自定義的註釋。 – 2012-01-08 22:41:35