2016-09-26 24 views
0

我想列出了由特定用户(用户ID与存储在Session["LoggedUserID"])创建的每个意见,但我有很难解决的lambda表达式,因为我基本上从来没有这样做。列出具体数据

下面的代码是错误的,但这是关于我的想法。

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信息:

  • 数据库一

  • 使用了标识的的GUID。

任何帮助,非常感谢。

+1

您正在使用'Include',而不是'Where',包括应当您想要在您的评论中展开一个实体时使用,例如:用户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); 

希望帮助,