我有一些带有多个连接的 QueryOver,就返回的对象而言,我得到的结果是可以的。这是代码>
var l = session.QueryOver<Discount>(() => discount)
.JoinQueryOver<ConPrdGrp>(r => r.ConPrdGrps)
.JoinQueryOver<PrdGroupTree>(k => k.PrdGroupTree)
.JoinQueryOver<Product>(g => g.Products)
.Where(p => p.ProductID == Product.ProductID)
.And(() => discount.FomDato <= DateTime.Now && discount.TomDato >= DateTime.Now).List();
但是如果我查看 SQL 语句,我可以看到生成的查询从所有连接的表中选择了所有列,尽管结果只返回了 Discount 对象的列表。我可以使用投影获得折扣的一些属性,并且查询会小得多。但是我如何指示 NHibernate 从 Discount 表中获取列,而不是从所有连接表中获取列?