Concat或Union linq之后GroupBy中的EF Core 2错误

时间:2018-06-07 20:20:50

标签: c# entity-framework entity-framework-core

我在concat或union之后遇到group by子句的情况。

如果我删除分组依据,查询工作正常并返回预期的结果但不分组和总分(Puntos)。

查询

        var resultados = (from p in partidos
                          join e1 in equipo
                          join e2 in equipo
                          join g in grupo
                          join up in usuario_partido
                          join pr in pronostico
                          where ..
                          group up by g.Nombre into g
                          select new
                          {
                              Grupo = g.Key,
                              Posiciones = (
                                (
                                    from g1 in g
                                    select new
                                    {
                                        Equipo = g1.Partido.Equipo1.Nombre,
                                        Imagen = g1.Partido.Equipo1.Imagen,
                                        Puntos = g1.Goles_Equipo1 > g1.Goles_Equipo2 ? 3 : g1.Goles_Equipo1 == g1.Goles_Equipo2 ? 1 : 0
                                    }
                                ).Concat
                                (
                                    from g1 in g
                                    select new
                                    {
                                        Equipo = g1.Partido.Equipo2.Nombre,
                                        Imagen = g1.Partido.Equipo2.Imagen,
                                        Puntos = g1.Goles_Equipo2 > g1.Goles_Equipo1 ? 3 : g1.Goles_Equipo2 == g1.Goles_Equipo1 ? 1 : 0
                                    }
                                )).GroupBy(p => new { p.Equipo, p.Imagen }, (k, gr) => new
                                {
                                    Equipo = k.Equipo,
                                    Imagen = k.Imagen,
                                    Puntos = gr.Sum(p => p.Puntos)
                                })
                          });

异常

  

System.ArgumentException:类型的表达式   ' {System.Collections.Generic.IEnumerable {1}} 2 [Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor + TransparentIdentifier 1[Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor+TransparentIdentifier 2 [Usuario_Partido,Microsoft.EntityFrameworkCore.Storage.ValueBuffer],System.Collections.Generic .IEnumerable 2[Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor+TransparentIdentifier 1 [System.Object的]'方法   ' {System.Collections.Generic.IEnumerable {1}} 1 [System.Object的],   System.Collections.Generic.IEnumerable`1 [System.Object的])'

     

参数名称:arg0

我使用的是EF Core 2

  

PackageReference Include =" Microsoft.EntityFrameworkCore.Design"版本=" 2.0.3"

     

PackageReference Include =" Microsoft.AspNetCore.Identity.EntityFrameworkCore"版本=" 2.0.3"

     

PackageReference Include =" Microsoft.EntityFrameworkCore.SqlServer"版本=" 2.0.3"

谢谢!

0 个答案:

没有答案