2010-02-18 1 views
2

ISubclassConvention을 구현하여 클래스 계층의 하위 클래스에 대한 Discriminator Value를 변경할 수 있습니다. 나는 이제 기본 클래스의 Discriminator Value도 설정하는 방법을 찾고 있습니다. 컨벤션 오버라이드로 변경하는 방법이 있습니까? 아니면 계층 구조에 수동 매핑을 추가해야합니까?Automapping 상속 : 기본 클래스에 Discriminator 규칙을 추가하는 방법

합니다 (IClassConvention는 DiscriminatorValue 속성을 제공하지만, 읽기 전용, 그래서 운이.) 내가 아는 유일한 방법은 바로 기본 클래스에 대한 간단한 매핑 재정의를 만드는 것입니다

답변

1

.

public class DepotMappingOverride : IAutoMappingOverride<Depot> 
{ 
    /// <summary> 
    /// Alter the auto mapping for this type 
    /// </summary> 
    /// <param name="mapping">Auto mapping</param> 
    public void Override(AutoMapping<Depot> mapping) 
    { 
     mapping.DiscriminateSubClassesOnColumn("Type", "BaseDepot"); 
    } 
} 

이제 "BaseDepot"은 Depot 클래스의 판별 자 값입니다.

+0

나는 대답을 원했지만 나는 그걸로 일할 수있다. 감사 :) –