Grupo de interrogação no Linq

votos
1

Estou tendo um problema com LINQ e eu estava esperando que alguém poderia me explicar o porquê. Eu tenho esse código:

        List<Spec> specs = GetSpecs(userObject, seasonID, partnershipID);

        var query = from s in specs
                    where (DateTime)s.FinalApprovedDate != null
                    && !((DateTime)s.FinalApprovedDate).Equals(DateTime.Parse(1/1/1900 12:00:00 AM))
                    group s by s.ForCompanyID into g 
                    select new
                    {
                        Vendor = g.Key,
                        Avg = g.Average(s.FinalApprovedDate.Subtract((DateTime)s.Created_Date).Days)
                    };

O que eu gostaria de recuperar a partir desta consulta é a diferença média em dias entre a data Criado ea Data Final Aprovado para cada empresa representada byt o ForCompanyID onde as datas não são nulos ou '1/1/1900'. Meu problema é que eu não consigo descobrir como obter esses dados a partir desta consulta. Pelo que tenho lido Creio que esta é a sintaxe correta, mas eu recebo um O 's' nome não existe no contexto atual nos valores de Sub novo. Eu também tentei isso com g aqui, mas isso não têm os valores também. Quaisquer pensamentos?

Publicado 19/05/2009 em 15:25
fonte usuário
Em outras línguas...                            


1 respostas

votos
7

Tente mudar a penúltima linha para:

Avg = g.Average(s => s.FinalApprovedDate.Subtract((DateTime)s.Created_Date).Days)
Respondeu 19/05/2009 em 15:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more