1

EF CodeFirstによって作成されたデータベースでデフォルト値をサポートし、値が指定されていないときにnull許容値以外の値をデータベースに挿入できるようにする必要があります。

たとえば、モデルの外部に何かが挿入されたときに日付列に値が必要ないように、を使用してデフォルトの日付を日付列に追加したいと思います。

モデルを使用して更新する場合、コードのデフォルトでこれを制御できることはわかっていますが、これは主にモデルの更新が原因です。私は頻繁にRedGateのSqlCompareを使用して構造を更新しますが、新しい列がスキーマを検証するために何らかの値を必要とし、列の追加が失敗するため、構造の更新はnull許容でないデフォルト以外のフィールドで失敗することがよくあります。デフォルト値(およびnullables)はこれを可能にします。Nullablesは機能しますが、コードでnull値を処理する際に、モデルで必要とされない限り避けたい他の問題が発生します。

Fluent APIまたは属性のいずれかを使用して、EF CodeFirstを使用してデフォルト値を列に取得する方法はありますか?

4

1 に答える 1

0

はい、 ComputedのDatabaseGeneratedOptionでHasDatabaseGeneratedOptionメソッドを使用する必要があります

.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)

唯一の制限は、コードから値を更新できないことです。

于 2012-04-14T04:37:46.597 に答える