2010-12-19 20 views
7

Bir NH 3.0 Cookbook'ta dışarı bazı kod çalışıyorum ve ben derlemek için aşağıdaki kodu alamıyorum neden merak ediyorum. Bu işi yapmalıdır QueryProjectionBuilder "NHibernate.Criterion.Lambda" olduğunu ancak bunun için kullanarak yönergesi yardımcı olmuyor düşünüyorum .nhibernate queryOver projeksiyon sözdizimi

Sorunlar, SelectGroup ve SelectAvg bölümleridir. Kitaptan sözdizimi doğru olduğunu varsayarsak, herkes burada bir eksik başvuru görebilir?

namespace Queries.Implementations 
{ 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using Eg.Core; 
using NHibernate; 
using NHibernate.Criterion; 
using NHibernate.Criterion.Lambda; 

    public class QueryOverQueries : CookbookQueriesBase 
    { 

     public override IEnumerable<NameAndPrice> GetAvgDirectorPrice(ISession session) { 
      return _session.QueryOver<Movie>() 
       .Select(list => list 
            .SelectGroup(m => m.Director) 
            .SelectAvg(m => m.UnitPrice) 
       ) 
       .List<object[]>() 
       .Select(props => 
         new NameAndPrice 
         { 
          Name = (string) props[0], 
          Price = (decimal) props[1] 
         }); 

     } 
    } 
} 

cevap

10

yerine .Select

ait .SelectList kullanmak zorunda
İlgili konular