2012-02-17 7 views
0

私はコメントがついた画像を持つaspxウェブサイトを持っています。テーブルの構造は次のとおりです。EntityFramework Select最もコメントの多い画像

Table name: Images 
int id (Primary Key) 
varcharmax path(path of the image) 

Table name: Comments 
int picid; (Linked to image id) 
Text text; 

Entity Frameworkを使用してトップ10のコメント付き画像を選択する必要があります。どのように可能ですか?

答えて

1

のようなものであるべき:

var result = db.Images 
       .OrderByDescending(img => img.Comments.Count()) 
       .Take(10); 
+0

イメージにCommnentsカウンタはありません。 – user1216157

+0

次に、あなたのエンティティモデルで 'Images'と' Comments'の間の関連付けを設定する必要があります。ヒント:データベースが正しいFK関係を持っている場合、それはあなたのために行います。 – Jamiec

0

私のように、あなたは多くは(メソッドを持つ)他の構文を好む、

var result = (from img in db.Images 
       order by img.Comments.Count() descending 
       select img).Take(10); 

た場合、またはこれがトップ10を選択:

var result = (
    from i in db.Images 
    order by i.Comments.Count() descending 
    select i).Take(10); 
関連する問題