簡體   English   中英

LINQ to SQL,獲取給定ID的最新記錄

[英]LINQ to SQL, get most recent records for given ID

詮釋

LINQ的新手。

我有一個評分表。
用戶為一個實體添加一組等級。每個用戶可以為一個實體設置多個等級。

例如,假設實體是一輛汽車。 該汽車在外觀和性能上得到了評價。 用戶可以多次評估給定汽車的外觀和性能。 所以我的表看起來像這樣(Rating字段不是Identity列;它是1到10的整數):

ReviewID     UserID     EntityID     CatID     Rating    Body               DateSubmitted
1            3          6            1         7         "drives great"     8/01/2010 02:36:28 PM
2            3          6            2         8         "looks great"      8/01/2010 02:36:28 PM
3            3          6            1         2         "broke down"       8/18/2010 11:39:58 PM
4            3          6            2         1         "paint flaked off" 8/18/2010 11:39:58 PM

現在,我有一個輔助方法,其中提供了UserID和EntityID,並且我想返回最新的Ratings集(到包含Ratinging Category的ViewModel中)。

public static IQueryable<RatingViewModel> GetRatingViewModel(int EntityID, int UserID)
    {
        DB _db = new DB();

        var a =

            from rating in _db.Ratings
            join ratingCat in _db.RatingCategories
                on rating.RatingCategoryID equals ratingCat.RatingCategoryID
            where rating.UserID == UserID
                && rating.EntityID == EntityID
            select new RatingViewModel
             {
                 Rater = rating.User,
                 RaterRating = rating,
                 RatingCategory = ratingCat

             };

        return a;
    }

我需要添加哪種“位置”或“分組依據”或“排序依據”,以便僅獲取給定UserID和EntityID的最新等級集?

謝謝!

考慮在方法返回時按DateSubmitted排序,然后獲取所需的條目數。

var a = from rating in _db.Ratings
        join ratingCat in _db.RatingCategories
            on rating.RatingCategoryID equals ratingCat.RatingCategoryID
        where rating.UserID == UserID
            && rating.EntityID == EntityID
        orderby rating.DateSubmitted descending

        select new RatingViewModel
         {
             Rater = rating.User,
             RaterRating = rating,
             RatingCategory = ratingCat

         }
         .Take(10);
.OrderByDescending(a => a.DateSubmitted).FirstOrDefault()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM