使用Linq To Objects或使用本机SQL将数据分组到内存中 - 哪个更快?

Sid*_*eFX 2 .net c# sql group-by

我注意到LINQ to Objects有一个GroupBy方法.鉴于此,我想知道是否有人可以使用LINQ构建内存中对象组列表的案例与SQL Server执行分组?

Chr*_*mer 5

您可能希望在客户端上使用LINQ进行分组的一些原因是:

  1. 您的对象已经在内存中.
  2. 您可能希望在数据生命周期的不同时间按不同的键进行分组,并且返回数据库可能成本很高.
  3. 您可能希望按SQL Server计算不方便的内容进行分组,例如data.GroupBy(d => DoSomethingComplicatedWith(d)).