单个表达式中多个聚合值的Linq-to-SQL语句

Jef*_*ton 7 c# linq-to-sql

如何为以下TSQL编写Linq-to-SQL语句?

select 
  count(*),
  sum(Amount),
  avg(Amount),
  min(Amount),
  max(Amount) 
from 
  TableName
Run Code Online (Sandbox Code Playgroud)

Ste*_*han 1

单独提取值可能更容易,但您可以使用匿名类型。

var aggregates = new {
Count = context.TableName.Count(),
Sum = context.TableName.Sum(t => t.Amount),
Avg = context.TableName.Avg(t => t.Amount),
Min = context.TableName.Min(t => t.Amount),
Max = context.TableName.Max(t => t.Amount)
};
Run Code Online (Sandbox Code Playgroud)

  • 在 linq 中你不能这样做,这些方法是“终止符” (4认同)