LINQ到用SQL集团 [英] Linq to SQL with Group by

查看:107
本文介绍了LINQ到用SQL集团的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想这个T-SQL转换为LINQ to SQL的,但不能用聚合函数制定出组。任何帮助的欢迎。

 选择c.ClientID,给定名称,姓氏,MAX(a.Address),MAX(t.Value)从客户端C 

留在c.ClientID = a.ClientID
加入ClientAddress一个向左c.ClientID,给定名称上c.ClientID = t.ClientID
组的加入ClientContactŤ ,姓


解决方案

要组一个复合键,通常使用匿名类型:

  VAR QRY =由新{x.ClientID在someSource 
组X X,X .GivenName,x.Surname}到GRP
选择新的{grp.Key,地址= grp.Max(X => x.Address),
值= grp.Max(X => X .value的)};


I am trying to convert this T-SQL to a Linq To SQL but can't work out the group by aggregate functions. Any help welcome.

select c.ClientID, GivenName, Surname, max(a.Address), max(t.Value)
from Client c
left join ClientAddress a on c.ClientID = a.ClientID
left join ClientContact t on c.ClientID = t.ClientID
group by c.ClientID, GivenName, Surname

解决方案

To group by a composite key, you typically use an anonymous type:

    var qry = from x in someSource
              group x by new { x.ClientID, x.GivenName, x.Surname } into grp
              select new { grp.Key, Address = grp.Max(x => x.Address),
                  Value = grp.Max(x => x.Value) };

这篇关于LINQ到用SQL集团的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆