0

私たちのデータベースは、すべてのテーブルについて、すべての列が null を許可しないように設定されています。エンティティ フレームワークを使用して新しいレコードを追加する場合、すべてのプロパティに値を設定するのは非常に面倒です。基本的に、私はこれを避けたい:

var customer = new usr_Customer();        
customer.CUSTNMBR = customerNumber != null ? customerNumber : string.Empty;
customer.MerchantID = merchant.MerchantId != null ? merchant.MerchantId : string.Empty;
customer.SupplyClubID = merchant.SupplyClub != null ? merchant.SupplyClub : string.Empty;
customer.Group01 = merchant.Group01 != null ? merchant.Group01 : string.Empty;

この問題を解決するには、SaveChanges() メソッドをオーバーライドし、null のすべてのプロパティに値を設定します。これが私がこれまでに持っているものです:

public override int SaveChanges()
{
    var changeSet = ChangeTracker.Entries();

    if (changeSet != null)
    {
        foreach (var entry in changeSet.Where(c => c.State == EntityState.Added))
        {
            //If entity properties are null, set them to something.
        }
    }
    return base.SaveChanges();

}

この時点では、私は EF を十分に理解していないため、どのように進めればよいかわかりません。string 型のすべてのエンティティ プロパティを string.empty に設定する必要があり、int 型のすべてのエンティティ プロパティを 0 に設定する必要があることなどを知っています。これは可能ですか?さらに重要なことに、このアプローチで問題を解決することは理にかなっていますか? 前もって感謝します。

4

1 に答える 1