【发布时间】:2015-10-08 19:06:12
【问题描述】:
我需要 linq 查询方面的帮助,SQL 是
select usuario2.PkUsuarioId, sum (evento.EventoHora) as total
from TUsuario as usuario, TUsuario as usuario2, TEvento as evento
where usuario.PkUsuarioId = 2
and usuario.PkUsuarioId = usuario2.Fkusuario_UsuarioAdminId
and usuario2.PkUsuarioId = evento.FkEvento_UsuarioId
group by (usuario2.PkUsuarioId)
结果:
我在 Linq 查询中需要这个 SQL,我试过这个 Linq 查询
from usuario in TUsuario
from usuario2 in TUsuario
from evento in TEvento
where usuario.PkUsuarioId == 2
&& usuario.PkUsuarioId == usuario2.FkUsuario_UsuarioAdminId
&& usuario2.PkUsuarioId == evento.FkEvento_UsuarioId
group usuario2 by usuario2.PkUsuarioId into value
select new {value.Key, suma = TEvento.Sum(x => x.EventoHora)}
结果:
为什么 linq 查询在所有行中抛出 50?
【问题讨论】:
-
你可能应该使用连接或者如果可能的话检查导航属性。
标签: c# sql-server asp.net-mvc linq linqpad