현재 NHibernate에서 객체를 우리의 레거시 데이터베이스 스키마에 매핑하려고합니다. 3 개의 테이블이 있습니다.(Fluent) NHibernate : 별도의 테이블에서 객체로 매핑하는 필드
- 표 A는 I가
- 테이블 B를 검색 할 필요가있는 실제 객체의 대부분의 정보를 포함하는 테이블 C를 표 A를 연결하는 테이블이다
- 표 C는 I 개체에 필요한 하나 개의 추가 필드가 정보를 검색 할 수
SQL 쿼리는 다음과 같습니다
이SELECT z.ID, z.ZANR, e.TDTEXT
FROM PUB.table_a z
JOIN PUB.table_b t ON (t.TDKEY = 602)
JOIN PUB.table_c e ON (e.ID = t.ID AND e.TDNR = z.ZANR)
WHERE z.ZANR = 1;
주요 문제 매핑에서이 두 조인 조건을 지정하는 방법.
엔티티 테이블의는 다음과 같습니다
public class EntityA
{
public virtual long Id { get; set; }
public virtual int Number { get; set; }
public virtual string Name { get; set; }
}
이름은 열 table_c.TDTEXT에 매핑해야합니다. 나는에서 직접 참조가 없기 때문에, 그러나이 작동하지 않습니다 내가 먼저 How to join table in fluent nhibernate에서와 동일한 전략에 가입 매핑을 시도
public class EntityAMap : ClassMap<EntityA>
{
public EntityAMap()
{
Table("PUB.table_a");
Id(x => x.Id).Column("ID");
Map(x => x.Number).Column("ZANR");
}
}
:
지금까지이 매핑은 이것이다 table_a를 table_b에 연결하는 유일한 방법은 상수 602 (위의 SQL-query 참조)입니다.
매핑에서 그 상수를 어떻게 든 지정하는 방법을 찾지 못했습니다.
에 위임 이름 속성을 상상할 수 있을까? 지금까지 어떤 매핑을 시도 했습니까? –