2
我正在尝试使用NHibernate生成一个非常奇怪的数据库的模型。表格本身只有主键用于显示,所有实际关系都在唯一列上。例如,包含产品ID主键和唯一产品名称列的产品表。另一个表,需求,有一个产品名称列,并定义了关系。我知道这种情况并不理想,但它超出了我的控制范围。NHibernate(流利)懒加载不工作
无论如何,我能够使用Fluent NHibrenate将产品映射到需求,但似乎无法让实体进行延迟加载。
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分析器中随需求一起被提取。
所以,当您获取'时,它会加入到产品中?你可以显示SQL? –
dotjoe
退房这个环节,propertyref http://stackoverflow.com/questions/4888140/fluent-nhibernate-references-and-propertyref-doing-a-select-with-lazy-load – BlakeH
dotjoe它实际上没有加盟,它做了一个完全独立的查询来获取产品,这实际上更糟糕。 – user653649