2011-01-05 64 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() });