【发布时间】:2010-08-19 04:13:09
【问题描述】:
intHi,
对 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,并且我想返回最新的评级集(到包含评级类别的 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 的最新评级集?
谢谢!
【问题讨论】:
标签: c# linq-to-sql