2010-06-22 13 views
15

sto ottenendo l'errore di cui sopra, con questa espressione:LINQ to Entities Group By espressione dà 'tipo anonimo proiezione inizializzatore dovrebbe essere semplice nome o accesso membri espressione'

var aggregate = from t in entities.TraceLines 
    join m in entities.MethodNames.Where("it.Name LIKE @searchTerm", new ObjectParameter("searchTerm", searchTerm)) on t.MethodHash equals m.MethodHash 
    where (t.CallTypeId & (int)types) == t.CallTypeId && t.UserSessionProcessId == m_SessionId 
    group t by m.Name into d             
    select new 
    { 
     d.Key,          
     d.Sum(x => x.InclusiveDurationMilliseconds) // <- squigglies on this line 
    }; 

Qualsiasi idea di che cosa sta causando questo errore?

risposta

36

fare qualcosa di simile:

select new 
{ 
    d.Key, 
    Sum = d.Sum(x => x.InclusiveDurationMilliseconds) 
}; 

Si può proiettare un nome di proprietà da un'altra proprietà, ma non da un metodo ....

+1

si avvicinò con esso proprio come hai postato .. uno di quelli tardi giorno bisogno di caffè scivola mente. Grazie. Punti facili per te :) – esac

+0

Lol, non dimenticare di contrassegnarlo come tale quindi;) –

Problemi correlati