20

SQL Server 2008 でコードを最初に移行する Entity Framework 5.0 プロジェクトがありますが、すべての日付プロパティはデータベースでdatetime列として作成されましたdatetime2

datetimeデータベース内のすべての列を更新する add-migration を使用して移行を作成することは可能ですか? どこでも簡単に切り替える方法はありますdatetime2か?

4

2 に答える 2

47

これは古い投稿ですが、すべての datetime 列を datetime2 に切り替え、追加する新しい列に datetime2 を使用する場合 (つまり、EF にデフォルトで datetime2 を使用させる場合)、これを OnModelCreating メソッドに追加できます。あなたの文脈:

modelBuilder.Properties<DateTime>().Configure(c => c.HasColumnType("datetime2"));

それはすべての DateTime と DateTime を取得しますか? モデル内のすべてのエンティティのプロパティ。

于 2015-12-11T21:41:44.293 に答える
10

流暢な API を使用しdatetime2て、DB に列を強制的に作成できます。

私はこれを見つけました:

Code-First Entity Framework および SQL Server での DateTime プロパティの使用

あなたはその考えを得ることができるはずです。

または、既存の DB に固執する必要がある場合は、カスタム T-SQL コードを実行する移行を作成できるはずです。ここに例があります:

http://msdn.microsoft.com/en-us/data/jj591621.aspx

于 2013-03-28T17:07:15.943 に答える