我试图在LINQ to SQL中进行MySQL查询,但我有一个疑问。我如何"总和(0.5)作为QtdeDias"在LINQ to SQL?
查询:
Select CL.NomeDeGuerra as Colaborador, '' as Gerente, 'Bloqueio' as Cliente, 'Bloqueio' as Frente,
Date_Format(A.DataReferencia, '%Y-%m-01 00:00:00') as Periodo, 'Bloqueio' as Atividade, Sum(0.5) as QtdeDias
From Agenda A
join Colaborador CL on (A.ColaboradorID = CL.ID)
Where CL.Socio = 0 and A.TipoAgenda = 2 and A.IsDeleted = 0 and CL.ID = 29
group by CL.NomeDeGuerra, Concat('BLOQUEIO-', A.Descricao), Date_Format(A.DataReferencia, '%Y/%m')
Linq to SQL:
var recursos = from a in this.Context.Agenda
join cl in this.Context.Colaborador on a.ColaboradorID equals cl.ID
where
cl.ID == colaboradorId
&& cl.Socio == 0
&& a.TipoAgenda == 2
&& !a.IsDeleted
group new { cl, a } by new { cl.NomeDeGuerra, a.Descricao, a.DataReferencia } into g
select new
{
FrenteProjetoID = 0,
Colaborador = g.Key.NomeDeGuerra,
Gerente = "",
Cliente = "Bloqueio",
Frente = "Bloqueio",
DataReferencia = g.Key.DataReferencia,
Atividade = "Bloqueio",
QtdeDias = (decimal)0.5 ???????
};
谢谢!
答案 0 :(得分:0)
您可以尝试使用自己创建的分组。
select new
{
FrenteProjetoID = 0,
Colaborador = g.Key.NomeDeGuerra,
Gerente = "",
Cliente = "Bloqueio",
Frente = "Bloqueio",
DataReferencia = g.Key.DataReferencia,
Atividade = "Bloqueio",
QtdeDias = g.Sum(e => 0.5m)
};