我正在使用实体框架5,代码第一个流畅的API。我用GroupBy构建了一个简单的查询进行聚合:
var query = context.Table1
.GroupBy(g => new
{
Prop1= g.Prop1,
Prop2 = g.Prop2
})
.Select(s => new
{
Prop1= s.Key.Prop1,
Prop2= s.Key.Prop2,
Avg = s.Average(m => m.Minutes),
Min = s.Min(m => m.Minutes),
Max = s.Max(m => m.Minutes),
StdDev = //How to get standard deviation of Minutes here?
})
.ToList();
与其他聚合(平均值,最小值,最大值)一起,如何在我的选择中获得Minutes的标准偏差?我听说StdDev有一个规范函数,但在这种情况下无法弄清楚如何应用它。任何帮助或正确方向的推动都将不胜感激!
答案 0 :(得分:0)
您应该可以在System.Data.Objects
中使用EntityFunctions.StandardDeviation
,如下所示:
StdDev = EntityFunctions.StandardDeviation(s.Select(m => m.Minutes))
(如果您使用的是EF 6,则为System.Data.Entity.DbFunctions.StandardDeviation()
)