2012-05-02 10 views
1

私はコード内の計算列の問題についていくつかの素晴らしい回避策を見つけようとしています。具体的には、getdate()に設定する必要があるCreatedAt datetime列があります。EntityFrameworkは、最初に、DropCreateの後にデータベース更新スクリプトを実行します。

私はPOCOコンストラクタを使ってこれを行うことにしましたが、Computedオプションを削除する必要があります(またはデータを保持しません)が、レコードを挿入するかどうかを設定します。これは、更新するたびにCreatedAtを上書きします。

私は、DropCreateの後に呼び出すことができ、getdate()のデフォルト値を含むようにさまざまな列を変更するalter scriptを作成したいと考えています。

  1. 私はその後、
  2. は何最善の方法は、ALTERスクリプトを扱うになり、追加のSQL実行することができOnDropCreateCompletedような何かにフックするイベントはありますか?私は実行するサーバーに生のSQLを送信すると思っています。
  3. getdate()の問題を処理するもう1つの方法はありますか?これはもっと優雅で、コードが最初に欠けているよりインラインですか?

おかげ

答えて

2

あなたは自分の希望1から派生したカスタム初期化を行うと、あなたが使用したい任意のSQLを実行することができSeedメソッドをオーバーライドすることができます - ここでは、このような初期化子を作成するためのsome exampleです。

マイグレーションを使用している場合は、カスタムSQLをUpメソッドにすることができます。

関連する問題