2010-12-19 23 views
7

Próbuję kod z książki kucharskiej NH 3.0 i zastanawiam się, dlaczego nie mogę uzyskać poniższy kod do kompilacji. I Myślę, że QueryProjectionBuilder, który powinien sprawić, że to dzieło jest w "NHibernate.Criterion.Lambda", ale dyrektywa o użyciu dla niego nie pomaga.nhibernate queryOver składnia projekcji

Problemy dotyczą części SelectGroup i SelectAvg. Zakładając, że składnia książki jest poprawna, czy ktoś może zobaczyć brakujący odnośnik tutaj?

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] 
         }); 

     } 
    } 
} 

Odpowiedz

10

Musisz użyć .SelectList zamiast .Select

Powiązane problemy