2010-12-19 7 views
7

Estoy intentando extraer un código de un libro de cocina NH 3.0 y me pregunto por qué no puedo obtener el siguiente código para compilar. I think QueryProjectionBuilder que debería hacer que esto funcione está en "NHibernate.Criterion.Lambda" pero la directiva que lo usa no ayuda.nhibernate query Sintaxis de proyección de sobres

Los problemas son las partes SelectGroup y SelectAvg. Suponiendo que la sintaxis del libro es correcta, ¿alguien puede ver aquí una referencia faltante?

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

     } 
    } 
} 

Respuesta

10

usted tiene que utilizar .SelectList en lugar de .Select

Cuestiones relacionadas