none
Erro na operação <List<IGrouping<Department,SalesRecord>>> no Visual Studio 2019 usando Core 3.1, preciso de alguém que possa mim ajudar. agradeço RRS feed

  • Pergunta

  • 1 - arquivo controle vou colocar o contexto da chamada

     public async Task<IActionResult> GroupingSearch(DateTime? minDate, DateTime? maxDate)
            {
                if (!minDate.HasValue)
                {
                    minDate = new DateTime(DateTime.Now.Year, 1, 1);
                }
                if (!maxDate.HasValue)
                {
                    maxDate = DateTime.Now;
                }
                ViewData["minDate"] = minDate.Value.ToString("yyyy-MM-dd");
                ViewData["maxDate"] = maxDate.Value.ToString("yyyy-MM-dd");
                var result = await _salesRecordService.FindByDateGroupingAsync(minDate, maxDate);
                return View(result);
            }

    22- arquivo do serviço só o contexto

     public async Task<List<IGrouping<Department,SalesRecord>>> FindByDateGroupingAsync(DateTime? minDate, DateTime? maxDate)
            {
                var result = from obj in _context.SalesRecord select obj;
                if (minDate.HasValue)
                {
                    result = result.Where(x => x.Date >= minDate.Value);
                }
                if (maxDate.HasValue)
                {
                    result = result.Where(x => x.Date <= maxDate.Value);
                }
                return await result
                    .Include(x => x.Seller)
                    .Include(x => x.Seller.Department)
                    .OrderByDescending(x => x.Date)
                    .GroupBy(x => x.Seller.Department)
                    .ToListAsync();
            }

    segunda-feira, 28 de setembro de 2020 10:52

Todas as Respostas

  • Olá,

    Ao ler seu código, não consigo descobrir o que você está tentando realizar e o que exatamente precisa de ajuda com o código. Por favor, nos forneça mais alguns detalhes. O que o programa deve fazer? O que você está tendo problemas para fazer o programa?
    segunda-feira, 28 de setembro de 2020 13:47
    Moderador
  • Boa noite amigo obrigado pela gentileza, o que estou fazendo no meu sistema lembrar que estou no Visual Studio 2019 e com Core 3.1 nesta operação estou usando using SalesWebMvc.Models; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; tenho uma view index que chama a a view pesquisa simple ou view pesquisa agrupada na simples não tive problema, mais na agrupada estou com erro, quando eu chamo a ação no controle que o mesmo chama a operação no serviço onde o mesmo trata data e depois faz join com include e orderna e no GrupBy pra agrupar e trás de volta para ação o result da erro abaixo: InvalidOperationException: The LINQ expression 'DbSet<SalesRecord> .Where(s => s.Date >= __minDate_Value_0) .Where(s => s.Date <= __maxDate_Value_1) .OrderByDescending(s => s.Date) .LeftJoin( outer: DbSet<Seller>, inner: s => EF.Property<Nullable<int>>(s, "SellerId"), outerKeySelector: s0 => EF.Property<Nullable<int>>(s0, "Id"), innerKeySelector: (o, i) => new TransparentIdentifier<SalesRecord, Seller>( Outer = o, Inner = i )) .LeftJoin( outer: DbSet<Department>, inner: s => EF.Property<Nullable<int>>(s.Inner, "DepartmentId"), outerKeySelector: d => EF.Property<Nullable<int>>(d, "Id"), innerKeySelector: (o, i) => new TransparentIdentifier<TransparentIdentifier<SalesRecord, Seller>, Department>( Outer = o, Inner = i )) .GroupBy( source: s => s.Inner, keySelector: s => s.Outer.Outer)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information. Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.<VisitMethodCall>g__CheckTranslated|8_0(ShapedQueryExpression translated, ref <>c__DisplayClass8_0 )
    terça-feira, 29 de setembro de 2020 01:19