首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate Projections -如何投影集合

NHibernate Projections -如何投影集合
EN

Stack Overflow用户
提问于 2012-05-12 20:37:57
回答 2查看 2.4K关注 0票数 5

我有一个场景,我只需要从一个实体中选择一个或几个列,但在一个查询中选择多个子列。我一直在尝试投影,但是在集合属性上得到了一个错误。这是一种正常的情况,但是找不到关于投影仅限集合的属性的信息。

代码语言:javascript
复制
Customer customerAlias = null;
Order orderAlias = null;
 var list = _session.QueryOver<Customer>(() => customerAlias)
                    .JoinAlias(x => x.Orders, () => orderAlias, JoinType.LeftOuterJoin)
                    .Select(
                       Projections.Property(() => customerAlias.Name),
                       Projections.Property(() => customerAlias.Orders))//this is the issue
                   .List<object>();

返回的错误为:

代码语言:javascript
复制
System.IndexOutOfRangeException : Index was outside the bounds of the array
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-09 16:21:58

在NH3.3中不能这样做。https://nhibernate.jira.com/browse/NH-3176

票数 3
EN

Stack Overflow用户

发布于 2012-05-20 21:20:12

反转查询如何(假设订单有一个客户属性):

代码语言:javascript
复制
var list = _session.QueryOver<Order>()
                .Select(
                   Projections.Property(o => o.Customer.Name),
                   Projections.Property(o => o.OrderProperty1),
                   Projections.Property(o => o.OrderProperty2)) // etc..
               .List<object[]>();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10563804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档