SQL Server 2008 でコードを最初に移行する Entity Framework 5.0 プロジェクトがありますが、すべての日付プロパティはデータベースでdatetime
列として作成されましたdatetime2
。
datetime
データベース内のすべての列を更新する add-migration を使用して移行を作成することは可能ですか? どこでも簡単に切り替える方法はありますdatetime2
か?
SQL Server 2008 でコードを最初に移行する Entity Framework 5.0 プロジェクトがありますが、すべての日付プロパティはデータベースでdatetime
列として作成されましたdatetime2
。
datetime
データベース内のすべての列を更新する add-migration を使用して移行を作成することは可能ですか? どこでも簡単に切り替える方法はありますdatetime2
か?
これは古い投稿ですが、すべての datetime 列を datetime2 に切り替え、追加する新しい列に datetime2 を使用する場合 (つまり、EF にデフォルトで datetime2 を使用させる場合)、これを OnModelCreating メソッドに追加できます。あなたの文脈:
modelBuilder.Properties<DateTime>().Configure(c => c.HasColumnType("datetime2"));
それはすべての DateTime と DateTime を取得しますか? モデル内のすべてのエンティティのプロパティ。
流暢な API を使用しdatetime2
て、DB に列を強制的に作成できます。
私はこれを見つけました:
Code-First Entity Framework および SQL Server での DateTime プロパティの使用
あなたはその考えを得ることができるはずです。
または、既存の DB に固執する必要がある場合は、カスタム T-SQL コードを実行する移行を作成できるはずです。ここに例があります: