1

나는 두 번 (우리에게 알려지지 않은) 매핑 된 열을 가지고 있는데, 이제는 "매개 변수 +1 존재하지 않는 오류 "입니다.nhibernate에서 같은 이름을 가진 두 개의 열을 매핑하기

다음 매핑을 얻을 수있는 적절한 방법이 있습니까?

이 잘못된 매핑

 References(x => x.Matter).Columns(new[] { "c_client", "c_matter" }).NotFound.Ignore(); 
     References(x => x.Client).Column("c_client"); 
+0

클라이언트 필드는 개체에 업데이트 할 필요합니까? – Vadim

+0

나는 그들이 그렇게 생각하지 않는다. 만약 당신이 @diago에 대한 더 나은 대안을 가지고 있다면, 나는 그것을 듣고 싶다! –

답변

1

(참고,이 ... 상속 데이터베이스입니다). 같은 열을 두 번 사용할 수 없습니다.

나의 제안은 c_matterc_client을 스칼라 속성으로 매핑하고 쿼리를 사용하여 해당 사항과 클라이언트를 검색하는 것입니다.

+0

그것이 내가 생각해야했던 대답입니다! –

+0

사실 - 그 생각에, IRepository를 내 엔터티 계층으로 가져올 수있는 방법에 대한 제안은 무엇입니까? –

+0

가장 눈에 띄지 않는 부분이 지나가고 있습니다. 'theEntity.GetMatter (저장소)' –

3

클라이언트 열을 읽기 전용으로 표시 할 수 있습니다.

References(x => x.Matter).Columns(new[] { "c_client", "c_matter" }).NotFound.Ignore(); 
References(x => x.Client).Column("c_client").ReadOnly(); 

이 너무 NHiberante 업데이트하지 않습니다해야 그것을

+0

감사합니다. 미래에 대한 마음을 간직 할 것입니다. 그러나 모든 리프로토 팅 (refreactoring)과 DTO (나는 어쨌든 일어 났을 것입니다.) +1을 고수 할 것입니다. +1 –

관련 문제