2016-09-26 11 views
0

特定のユーザー(ユーザーIDはSession["LoggedUserID"]に格納されています)によって作成されたすべてのコメントを一覧表示しようとしていますが、ラムダ式を解決するのは難しい。MVCコントローラ経由でラムダで特定のデータを一覧表示する

次のコードはエラーですが、これは私が気にしていたことです。

public ActionResult MyComments(Guid? id) 
     { 
      id = new Guid(Session["LoggedUserID"].ToString()); 

      var comments = db.Comments.Include(m=> m.CreatorUserId.Equals(id)); 

      return View(comments.ToList()); 

     } 

Addintional情報:

  • データベース-最初のIDのためのGUIDを使用して

何か助けてください。

+1

あなたは、代わりに 'WHERE'の' Include'を使用しているはずが含まコメント内のエンティティを展開する場合に使用します(例:ユーザーCreatorUser)。 –

答えて

2

関連するエンティティのSQLスキームを公開する場合にはさらに役立ちますが、これで十分です。

  1. 私はLINQ to Entities .Whereメソッドを使用して、指定されたidに一致するものだけをフィルタリングしました。
  2. インクルードは必要ありません。相対エンティティのロードに使用されるためです。コメントテーブルでは不要です。

コード:

public ActionResult MyComments(Guid? id) 
{ 
    id = Guid.Parse(Session["LoggedUserID"].ToString()); 

    var review = db.Comments.Where(m => m.CreatorUserId.Equals(id)); 
    var result = review.ToList(); 

    return View(result); 
} 
2

これを試してみてください代わりにinclude

db.Comments.Where(m=> m.CreatorUserId == id); 

希望に役立ち、

関連する問題