在 C# 中使用 OData 時,可以使用 LINQ to OData 擴展方法對數據進行聚合。以下是一些常見聚合操作的示例:
var count = context.Customers.Count();
var total = context.Customers.Sum(c => c.TotalAmount);
var average = context.Customers.Average(c => c.TotalAmount);
var minValue = context.Customers.Min(c => c.TotalAmount);
var maxValue = context.Customers.Max(c => c.TotalAmount);
var groupResults = context.Customers
.GroupBy(c => c.Region)
.Select(g => new { Region = g.Key, Count = g.Count(), TotalAmount = g.Sum(c => c.TotalAmount) })
.ToList();
以上示例中,context
是 OData 客戶端上下文對象,用于訪問 OData 服務中的數據。Customers
是 OData 服務中定義的實體集名稱。聚合操作使用 LINQ to OData 擴展方法進行,例如 Count()
、Sum()
、Average()
、Min()
和 Max()
等。在分組統計示例中,使用 GroupBy()
方法對客戶按區域進行分組,并使用 Select()
方法選擇每個分組的鍵、計數和總金額。最后將結果轉換為匿名類型列表。
需要注意的是,以上示例中的屬性名稱(如 TotalAmount
)應與 OData 服務中定義的屬性名稱相匹配。如果屬性名稱不同,請相應地更改代碼中的屬性名稱。