【问题标题】:How to select the last review for each item using LINQ-To-Entities?如何使用 LINQ-To-Entities 为每个项目选择最后一条评论?
【发布时间】:2014-02-10 01:25:37
【问题描述】:

我是 LINQ 的新用户,我正在开发一个简单的购物系统。我现在正在尝试编写一个 LINQ 语句,它将检索数据库中每个项目的最后一次审查(基于审查日期)。我正在使用 Entity Framework 4 使用 Linq-To-Entities。我有以下表格:

Items Table: ID, Name,
UserReviews Table:  ID, Description, ReviewDate,  ItemID 

我想出了以下 LINQ 语句,但它向我显示了每个项目的所有评论,而不是显示每个项目的最后评论:

var query = from item in context.Items
            from review in context.UserReviews                                          
            where item.ID == review.ItemID
           && (review.ReviewDate >= fromDate.Date && review.ReviewDate <= toDate)
                                          select new
                                          {
                                              Name = item.Name,
                                              Review = review.Description,
                                              Date = review.ReviewDate
                                          };

所需结果的快照:

您能告诉我该怎么做吗?

【问题讨论】:

    标签: c# linq linq-to-entities


    【解决方案1】:

    您可以通过在查询中使用.Max 函数来获得最新评论:

    var lastReview = query.Max(x => x.Date);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多