NHibernate를 사용하여 아주 이상한 데이터베이스 모델을 생성하려고합니다. 테이블 자체에는 표시 전용 기본 키가 있으며 모든 실제 관계는 고유 한 열에 있습니다. 예를 들어 제품 ID 기본 키와 고유 제품 이름 열이있는 제품 테이블입니다. 또 하나의 테이블 인 demand는 제품 이름 컬럼을 가지며 그 관계를 정의합니다. 나는이 상황이 이상적이 아니라는 것을 알고 있지만 그것은 내 통제에서 벗어났다.NHibernate (Fluent) Lazy Loading Not Working
필자는 Fluent NHbrenate를 사용하여 제품을 수요에 맞게 매핑 할 수 있었지만 엔티티를 느슨하게로드 할 수 없었습니다.
public class Demand
{
public virtual DemandId { get; set; }
public virtual Product { get; set; }
}
public class DemandMap : ClassMap<Demand>
{
public DemandMap()
{
this.Table("Demand");
this.LazyLoad();
this.Id(x => x.DemandId);
this.References(x => x.Product).PropertyRef(x => x.ProductName).LazyLoad();
}
}
왜 게으른로드가 작동하지 않는지에 대한 통찰력이 있습니까? 나는 그것이 SQL 프로파일 러의 요구와 함께 가져 오는 제품을 볼 수 있기 때문에 그것이 아니라는 것을 안다.
그래서
일등
2 등석을, Get'제품에 가입하고 있습니까? 당신은 SQL을 보여줄 수 있습니까? –
dotjoe
체크 아웃이 링크, propertyref http://stackoverflow.com/questions/4888140/fluent-nhibernate-references-and-propertyref-doing-a-select-with-lazy-load – BlakeH
실제로 가입 아니에요 dotjoe , 제품을 얻기 위해 전적으로 별도의 쿼리를 수행합니다. 실제로 더 나빠집니다. – user653649