2011-01-05 87 views
0

StackOverFlow帮助我在另一篇文章中构建了下面的LINQ。我怎样才能修改LINQ来申请第二个条件并加入第二个表?第二个条件是查看第二个表中的列。使用LINQ获取平均值并加入多个表格

var ratingAverage = ctx.Rates.Where(r => r.Id == Id) 
    .GroupBy(g => g.Id, r => r.Rating) 
    .Select(g => new { Id = g.Key, Rating = g.Average() }); 

上面的LINQ将得到平均值和组的Id。 I.E.,我有一张人桌。我想在LINQ中包含People表,并增强Where条件以过滤PersonId。评分表上的Id是People表上的外键。

非常感谢您给予的帮助。

回答

0
int ratingId = 1; 
int personId = 9; 

var ratingAverage = ctx.Rates.Where(
    r => r.Id == ratingId && r.Person.Id == personId) 
    .GroupBy(g => g.Id, r => r.Rating) 
    .Select(g => new { Id = g.Key, Rating = g.Average() });