[Required]
특성을 Entity Framework의 복합 유형에 정의하려고합니다. 예를 들어 Address
인 Customer
엔티티가 있습니다. Address 엔티티에는 필수 PostCode
속성이 있습니다.선택적 Entity Framework 복합 형식에 대한 필수 속성
[ComplexType]
public class Address {
public string Address1 { get; set; }
[Required]
public string PostCode { get; set; }
}
public class Customer {
public int CustomerId {get;set;}
public Address Address {get;set;}
}
내가 별도의 엔티티로 내 복잡한 유형을 저장하지 않으 (I 실제로 주소를 사용하지 않는, 문제의이 단지 쉬운 그림). 나는 빈 주소 엔티티를 제공하는 경우
Null value for non-nullable member. Member: 'Address'.
유효성 검사 때문에 필수 속성의 우편 번호 필드에 실패 :이 오류를 제공하기 때문에 나는 Customer.Address 널을 떠날 수 없다.
이것을 달성 할 방법이 있습니까? 나는 EF5/NET4.5를 사용하고있다.
정말로 다른 엔티티가 없으면이를 수행하기를 바랬습니다. 약간 다른 방법으로 유효성 검사를해야 할 것 같네요. 어쨌든 내 의혹을 확인해 주셔서 감사합니다! – Richard
이것은 EF의 정말 나쁜 특징입니다. Address 개체에 리플렉션을 사용하면 EF는 테이블 생성시 생성 할 열을 쉽게 만들 수 있습니다. 엔티티의 Address 인스턴스를 가질 필요가 없습니다. 엔티티 생성/업데이트에서 ComplexType 속성이 null 인 경우 데이터베이스의 해당 열을 null로 설정하는 것이 무엇이니까? 이것은 EF IMO의 다음 버전에 추가 할 수있는 쉬운 기능입니다. – Ibraheem