Fui tentar usar essa função de media em outra tabela mas deu erro, não encontra a campo Total usada na clausula do orderby
Fui tentar usar essa função de media em outra tabela mas deu erro, não encontra a campo Total usada na clausula do orderby
Olá, Maurici, você pode colar aqui o seu código, para podermos entender melhor o problema? Obrigado!
Olá Marcelo. Baixei o seu codigo fonte e vi onde estava o meu erro.
De qualquer forma agradeço a ajuda.
Muito Obrigado. E o seu treinamento está sendo bem proveitoso.
Codigo Errado:
public static decimal Mediana<TSource>(this IQueryable<TSource> origem, Expression<Func<TSource, decimal>> selector)
        {
            using (var contexto = new AluraTunesEntities())
            {
                int contagem = origem.Count();
                var funcSeletor = selector.Compile();
                var ordenado = contexto.NotasFiscais.Select(ag => ag.Total)
                    .OrderBy(total => total);
                var elementoCentral_1 = ordenado.Skip((contagem - 1) / 2).First();
                var elementoCentral_2 = ordenado.Skip(contagem / 2).First();
                decimal mediana = (elementoCentral_1 + elementoCentral_2) / 2;
                return mediana;
            }
        }Codigo Correto:
        public static decimal Mediana<TSource>(this IQueryable<TSource> origem, Expression<Func<TSource, decimal>> selector)
        {
            int contagem = origem.Count();
            var funcSeletor = selector.Compile();
            var ordenado = origem
                .Select(selector)
                .OrderBy(x=> x);
            var elementoCentral_1 = ordenado.Skip((contagem - 1) / 2).First();
            var elementoCentral_2 = ordenado.Skip(contagem / 2).First();
            decimal mediana = (elementoCentral_1 + elementoCentral_2) / 2;
            return mediana;
        }Muito bom, Maurici! E obrigado por prestigiar o nosso curso! ;-)