2011-01-05 7 views
0

StackOverFlowは、以下のLINQを構築するために別のポストで手伝ってくれました。どのようにLINQを修正して2番目の条件を適用し、2番目のテーブルに参加させることができますか? 2番目の条件は、2番目の表の列を条件とします。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で平均とグループを取得します。私は人のテーブルを持っています。 PersonテーブルをLINQに含め、PersonIdでフィルタリングするWhere条件を拡張したいと考えています。レーティングテーブルのIDは、ピープルテーブルの外部キーです。

ありがとうございました。

答えて

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() }); 
関連する問題