내가 NHibernate에 유창한 NHibernate에 상당히 새로운 해요, 쿼리에 모음을 연결에 문제가 있습니다. 데이터베이스에는 4 개의 관련 AFE가 있습니다. 내가 가지고있는 문제는 AFE 모음이 올바르게 채워지지 않는다는 것입니다. 내가 무엇을해도 컬렉션에 4 개의 AFE가 있지만 모두 같은 대상입니다. 제가 잘못하고있는 것이 명백한 것이 있습니까?유창함 NHibernate에 매핑 문제
감사합니다.
PS입니다. DB를 변경할 수 없으므로 타격중인 데이터베이스에 대한 액세스 권한이 변경되지 않아 진정한 FK가됩니다.
부모
public WellHeaderMap()
{
Table("Well");
Id(x => x.PropertyNumber, "WELL_NUMBER");
Map(x => x.PropertyID, "PROPERTY_ID");
Map(x => x.Name, "WELL_NAME");
//AFEs is a IList<AFE>
HasMany(x => x.AFEs).Inverse().KeyColumn("Property_ID").PropertyRef("PropertyID").Fetch.Join();
}
컬렉션
public AFEMap()
{
Table("AFE");
Id(x => x.PropertyID, "PROPERTY_ID");
Map(x => x.AFETypeID, "AFE_TYPE_CODE");
Map(x => x.AFENumber, "AFE_NUMBER");
Map(x => x.IsDeleted, "DELETED_IND");
}
쿼리
var wellSearchCriteria = _session.CreateCriteria<WellHeader>()
.CreateAlias("AFEs", "afe")
.Add(Restrictions.Eq("PropertyNumber", id.ToString()))
//.Add(Expression.Eq("afe.AFETypeID", "01"))
//.Add(Expression.Eq("afe.IsDeleted", "N"));
wellHeader.AFE가 동일한 4 개의 엔터티를 반환합니까? – mxmissile
테이블 구조, 클래스 구조 및 매핑을 보지 않아도되는지 확인하기가 어렵습니다. 'HasMany'가'many-to-one'으로 반전되기를 원합니까? 이 관계를 지원하기 위해 부모에게 참조하는 속성이 표시되지 않습니다. –
예, wellHeader.AFEs 항상 같은 4. 내가 쿼리의 AFE의 주석을 해제 추가하더라도, 난 단지 1 AFE를 반환해야 반환하지만 여전히 난 그냥 때문에 샘플 I의 존재에 역을 던졌다 생각 4.를 반환 녹이다. 역변환을 그대로두면 같은 결과가 나타납니다. – SnyderJK