だから私は次のオブジェクトを持っています
public class Person : IValidatableObject
{
[Required]
public string Name {get;set;}
[Required]
public string Status {get;set;
public Address Address {get;set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (Status != "Addressless" && Address == null)
{
yield return new ValidationResult("An address is required if this person is not addressless");
}
}
}
public class Address
{
[Required]
public string Address1 {get;set;}
[Required]
public string City {get;set;}
}
さて、私の問題は、その人が住所を持っている場合、EFコードファーストは住所テーブルのDBの値をnullにする必要がないため、住所の値が必要なことです。Personは住所を必要としないため、これが問題を引き起こしているようです。したがって、「Addressless」の場合、Address
検証は行われないはずですが、Addressには必須フィールドがあるため、検証は開始されます。
これを回避する方法はありますか?