0
적절한 클래스 매핑을 위해 Fluent 메서드를 올바르게 조합하는 데 문제가 있습니다. 여기에 기본적으로 내가 할 노력하고있어 무엇을 :사용자 지정 열 이름이있는 단면 구성
Person table: PersonID, HomeAddressID (nullable), WorkAddressID (nullable)
Address table: AddressID, Street, etc...
Person
클래스는 Address HomeAddress
과 Address WorkAddress
재산 아닌 ID에 대한 정수 속성이 있습니다.
Address
클래스에는 관련된 Person
엔티티에 대한 속성이 없습니다.
이 시나리오에서는 온라인으로 예제를 찾지 못했지만 올바른 조합을 찾지 못했습니다. 코드 우선 구성은 항상 나를 혼란스럽게 만들었습니다.
이것은 내가 발견 한 예제 중 가장 가까운 것이지만 Invalid column name 'HomeAddressID'
을 얻고 있습니다. 이는 아마도 관계의 잘못된면을 매핑하고 있다고 말합니다.
public class PersonConfiguration : EntityTypeConfiguration<Person>
{
// other mappings
HasOptional(p => p.HomeAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("HomeAddressID"));
HasOptional(p => p.WorkAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("WorkAddressID"));
}
올바른 경로에 있습니까?
그 작품처럼 고맙습니다,하지만 난 의도적으로 그 속성을 노출하지 않습니다. 실생활에서는 이것이 업데이트 가능한 뷰이며 뷰의 트리거를 사용하여 기본 컬럼이 업데이트되지 않습니다. 개발자가 해당 열에 값을 할당하고 저장을 기대할 수있는 것처럼 보이게하고 싶지는 않습니다. –