評価、コメント、および表示とともに製品のリストを取得しようとしています。 PIDは、外部キー関係のない製品ID列です。linqラムダ複数のグループの結合
製品 -
Id Name
1 P1
2 P2
評価 -
Id PID Rating
1 1 5
2 1 4
3 2 3
コメント -
Id PID Comment
1 1 Good
2 1 Average
3 2 Bad
ビュー -
Id PID View
1 1 500
2 1 200
3 2 10
私のクラスには、次のようになります - 私は、LINQのグループを使用してこの情報を得るに参加しようとしています
Public Class Product{
public int Id { get; set; }
public string Name { get; set; }
public List<Rating> Ratings{ get; set; }
public List<Comments> Comments{ get; set; }
public List<Views> Views{ get; set; }
}
、私が子供のコレクションを取得するように。
IEnumerable<Product> _products = _context.Product.GroupJoin(_context.Rating, p=>p.id, r=>r.PID, (Product, Rating) => new Product(){
//fill fields here
});
しかし、他のテーブルも単一のデータベースクエリにグループ化する方法。
linq-to-sqlは、変更をコミットするときにクエリを自動的にグループ化します。何を聞いていますか? –
次のようなコードを試してください:IEnumerable _products =(_context.Productのpから) p.idのrを_context.Ratingに結合します。 p.idとs.idの_context.Salesで結合します。 新しい選択 –
jdweng
私はクラスで述べたように親子フォーマットにしたいと思っています。それは領域Iです({p = p、r = r、s = s}私が間違っていると私を修正してください。 – sunder