2011-03-22 56 views
1

考虑一个简单的命令例子(应该得到有序的每个产品的名称和数量): (注 - 按标题分组是不是一个很好的答案)LINQ的NHibernate的群体,并加入

var orderQuery = 
    session.Query<OrderLine>() 
      .Where(ol => ol.Quantity > 0) 
      .GroupBy(ol => ol.Product.Id) 
      .Select(x => new 
         { 
          productId = x.Key, 
          quantity = x.Sum(i => i.Quantity) 
         }); 

var query = 
    session.Query<Product>() 
      .Join(orderQuery, 
        x => x.Id, 
        x => x.productId, 
        (x, p) => new { x.FeedItem.Title, p.quantity }); 

但是,这将引发一个

无法解析属性:订单行

任何想法:重点?

+0

坚韧与映射出来,好像你的OrderLine实体没有一个名为Key属性查询? '.Select(x => new {productId = x.Key ...' – Vadim 2011-03-23 14:43:35

+0

哪个NHibernate版本?版本2.1 LINQ提供程序有一些问题。 – driis 2011-03-28 20:29:38

回答

0

尝试创建使用QueryOver和预测 Sample