Code-First モデルを使用しているときに、すべてのプロパティDbContext
に使用するようにEntity Framework をグローバルに設定することは可能ですか?datetime2
System.DateTime
メソッドを使用して列ごとにこれを行うことができますHasColumnType()
が、既存のコードベースではグローバルなソリューションが必要です。
Code-First モデルを使用しているときに、すべてのプロパティDbContext
に使用するようにEntity Framework をグローバルに設定することは可能ですか?datetime2
System.DateTime
メソッドを使用して列ごとにこれを行うことができますHasColumnType()
が、既存のコードベースではグローバルなソリューションが必要です。
EF6 がリリースされてからかなりの時間が経過し、この質問がまだ検索に表示されるため、カスタム規則を使用して SQL 型を設定する方法を次に示します。DbContext クラスの OnModelCreating メソッド内で次のことを行います。
modelBuilder.Properties<DateTime>()
.Configure(c => c.HasColumnType("datetime2"));
EF5 ではなく、EF6 (現在はアルファ版) では、カスタム規則でこれを許可しています。HasColumnType
EF5 の場合、リフレクションを介してモデル ビルダーへの呼び出しを追加する、リフレクションに基づくカスタム コンベンション ベースのフレームワークが必要です。たとえば、 EF Code First Extrasを確認してください(プラグ可能な規約をサポートしていると主張しています)。