希望有人能帮助我使用LINQ语法来计算平均值.例如,我有以下LINQ查询:
var rates = from rating in ctx.Rates
where rating.Id == Id
select new
{
UserId = rating.UserId,
Rating = rating.Rating
};
Run Code Online (Sandbox Code Playgroud)
如果返回10条记录,我需要在Rating字段上计算平均值.它在我的DB中被定义为Double.我正在使用LINQ到EF.所以我会分配UserId,MiscId,而评级将是返回记录的平均值.我将一个对象传递回客户端代码.
Ada*_*kis 90
double RatingAverage = ctx.Rates.Where(r => r.Id == Id).Average(r => r.Rating);
Run Code Online (Sandbox Code Playgroud)
tva*_*son 32
您是否在寻找每个用户ID的平均评分?如果是这样,那么您需要同时使用GroupBy和Average.
var rates = ctx.Rates
.Where( r => r.Id == Id )
.GroupBy( g => g.UserId, r => r.Rating )
.Select( g => new
{
UserId = g.Key,
Rating = g.Average()
});
Run Code Online (Sandbox Code Playgroud)