+2 votos
3 visitas
Conforme o exemplo abaixo, é possivel fazer a consulta e retorna em um long? ou um decimal sem a necessidade de criar uma classe model? pelo que vi, o parametro Select, pede um tipo de objeto de referencia, existe alguma outra forma de fazer isso?

 

            var ultimoCodigo = _contexto.dbContexto.Query<IPatTipoDocumento>()
                 .Select<ClasseTEste>(mapping =>
                 {
                     mapping.Field<IPatTipoDocumento>(teste => teste.Codigo, m => m.MyProperty, FieldFunctionOptions.Sum);
                     }
                 )
                .FirstOrDefault();
por (103 pontos) | 3 visitas

1 Resposta

+1 voto
Melhor resposta

Na versão atual o BEF .NET Core permite a utilização do Count() sem a necessidade de uma model e faz o parse do mesmo para execução no banco de dados.

Exemplo:

_dbContext.Query<Entidade>().Where(WhereExpression).Count();

ou 

_dbContext.Query<Entidade>().Count(WhereExpression);

Entretanto as demais opções existentes no FieldFunctionOptions estão implementadas para uso com o mapeamento em uma model projetada pelo Select().

Existe a intenção de implementar o Sum() e as demais operações para uso conforme o exemplo acima, porém isso deverá ser disponibilizado em uma versão futura. Até lá, essas operações devem ser utilizadas no mapeamento dos campos para a model conforme o exemplo apresentado na pergunta.

por (117 pontos)
selecionada por

Perguntas relacionadas

+1 voto
2 respostas
+2 votos
1 resposta
+1 voto
2 respostas
perguntado 23 Jun, 2023 por Willian Redondo (103 pontos) | 2 visitas
Melhores Apr 2026
    200 pontos
    Melhores 2026 Mar 30 - Apr 05
    1. danilo.pereira

      96 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. willian.metalsystem

      75 Pontos

    5. henrique.muller

      62 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. luciano.fronza

      61 Pontos

    9. diuari.molinari

      52 Pontos

    10. diuari.molinari

      51 Pontos

    518 perguntas
    567 respostas
    389 comentários
    769 usuários