2012-05-02 53 views
1

我正在嘗試爲代碼中的計算列問題找到一些很好的解決方法。具體來說,我有一些需要設置爲getdate()的CreatedAt日期時間列。EntityFramework code-first,在DropCreate之後運行數據庫更新腳本

我已經看過通過POCO構造函數來做到這一點,但要做到這一點,我必須刪除Computed選項(否則它將不會保留數據),但是,沒有簡單的方法確保只有列如果我們插入記錄則設置。所以每次我們更新時都會覆蓋CreatedAt。

我期待創建一個可以在DropCreate之後調用的alter script,它可以通過並更改各種列以包含getdate()的默認值。

  1. 有掛接到類似OnDropCreateCompleted在那裏我可以再運行其他SQL
  2. 什麼是最好的方式處理ALTER腳本的事件?我想只是將原始的SQL發送到將運行的服務器。
  3. 是否有另一種方法來處理getdate()問題,可能更優雅,更內聯代碼首先我錯過了?

感謝

回答

2

你可以只進行自定義初始化從您想要的一個派生並重寫Seed方法,你可以執行你想使用的任何SQL - 這裏是some example創建這樣的初始化。

如果您正在使用遷移,您可以將自定義SQL更改爲Up方法。

相關問題