오늘 초 나는 원래 클래스를 두 개로 분해했다. 원본 클래스를 추상 클래스로 표시하고 추상 클래스를 상속받은 두 개의 서브 클래스를 생성했다.Fluent NHibernate에서 중복 매핑 소스를 찾는 것
DiscriminateSubClassesOnColumn("EntryType");
그 필드는 데이터베이스에있는 정수 :
나는 다음과 같은 컬럼 값 (테이블 당 클래스 계층 구조)를 기반으로 서브 클래스를 구별하기 위해 내 FluentNHibernate 매핑에 선을 추가했다. :DiscriminatorValue(1);
내가 계속이 예외로 실행하고 다음과 같이
나의 새로운 매핑 판별을위한 MyChildTypeMap의 생성자 메서드의 새로운 라인으로
SubClassMap<MyChildType>
에서 상속
"Duplicate class/entity mapping MyNamespace.MyChildObject"
Fluent NHibernate 세션 빌더에서 (Fluently.Configure() .. ..) hbm 파일에 매핑을 내보내는 행을 추가했습니다. 물론 하위 클래스는 상위 클래스의 매핑 파일에 두 번 나열됩니다.
자동 매핑 구성을 사용하고 있지 않습니다. Fluent NHibernate 1.2.0.0을 사용하고 있습니다. NHibernate 3.2.0.400을 사용하고 있습니다.
저는이 부분이 어디서 왔는지 알아 내려고 노력하고 있습니다. 누구든지 도와 줄 수 있습니까? 매핑이 무엇인지의 디버그 로그 (당신은 또한 OutputToFile
수,이 경우 콘솔에)
Fluently.Configure()
.Database(\\your db stuff here)
.Diagnostics(diag => diag.Enable().OutputToConsole())
.Mappings(\\mappings);
이 스트리밍됩니다
이 문제의 근본 원인을 알아 냈습니까? 나는 비슷한 질문을했습니다. – Astaar