나는이로 노출되어 내 도메인 객체에 속성이 :NHibernate가 IList 프록시를 생성하는 것을 어떻게 확인할 수 있습니까?
이public virtual IEnumerable<WorkPost> WorkPosts
{
get { return sheetPosts; }
private set
{
Guard.AssertAssignableFrom(value, typeof (IList<WorkPost>));
sheetPosts = value as IList<WorkPost>;
}
}
내부 표현은 IList<WorkPost>
이고 당신이 볼 수 있듯이, (NHibernate에 오는 게으른 로딩 프록시) 할당 된 값 그런 다음 올바른 유형으로 변환됩니다. 이 구현은 NHibernate 프록시의 내부 표현에 의존하기 때문에 입안에서 나에게 나쁜 맛을 주었다. 목록의 의미를 다시 추가 정렬을 의미하기 때문에,
HasMany(sheet => sheet.WorkPosts).KeyColumn("sheetId").AsList();
그러나이 요청한 것보다 나에게 더 많은 것을 주었다 NHibernate에 내가이 AsList()
선언 속성의 유창한 매핑을 만든 목록으로 프록시를 생성 있는지 확인하십시오 일부 추가 필드는 데이터베이스 모델 및 추가 쿼리 (커밋 할 때 정렬 필드 업데이트)로 인해 위의 "AsList"가야합니다.
프록시를 생성 할 때 NHibernate가 반환해야하는 인터페이스 유형을 어떻게 제어 할 수 있습니까? (참고 : 속성에서 IEnumerable
반환 유형을 변경하면 내가 찾는 답변이 아닙니다 :-))