我有以下兩類映射返回被引用的屬性,而不延遲加載:NHibernate的:使用SetProjection
public class Foo
{
public virtual Guid Id { get; set; }
public virtual Bar Bar { get; set; }
}
public class Bar
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
}
我有以下標準:
return Session.CreateCriteria<Foo>("f")
.CreateAlias("f.Bar", "b")
.SetProjection(Projections.Property("f.Bar"))
.List<Bar>();
這將生成以下SQL:
select b.Id from Foo f
inner join Bar on f.BarId = b.Id
請注意,只有酒吧的ID是返回,而不是整個班級。我如何獲得Bar的所有列?
在您的代碼示例中,您聲明.List(); ,但是你說只有酒吧的Id被返回。這是否意味着你得到了只有Id屬性被水合的酒吧列表? –
Jaguar
2011-02-22 09:11:34