新しい列がいくつか追加されたテーブルがあり、既存のデータを正確に反映できるようにNULLが設定されています。これらのレコードが作成された時点では、新しい列は存在しないため、nullはその時点のデータベースの状態を正確に表します。すべての新しいデータについて、私はnullを許可したくありません。それを管理するベストプラクティスは何ですか?Entity Frameworkで新しいデータ整合性ルールを適用する方法
EntityTypeConfiguration
クラスで.IsRequired()
を使用すると、その列をnullにできないように変更しようとします。また、nullが発生した場合は失敗します。私はまだそれらの古いレコードを読むことができるようにしたい、私はちょうど新しい列がなくても新しいレコードを書きたくない。
可能な限りDBの近くでこれを実行したいので、私はセッターにいくつかの検証コードを入れました。
private string _CountryCode;
public string CountryCode
{
get
{
return _CountryCode;
}
set
{
if (string.IsNullOrEmpty(value))
throw new ArgumentException("Country Code Required");
_CountryCode = value;
}
}
これは機能しますが、そこにはクリーナーソリューションがあります。
IsNullOrEmpty(value)である必要があります。 –