【发布时间】:2013-03-20 23:25:42
【问题描述】:
所以我正在执行 linq-to-sql 查询,结果以 IEnumerable 的形式出现。从这个列表中,我为每个返回的结果创建一个新对象。我已经使用的存储过程正在按我想要的顺序返回对象。我们有一个排行榜,查询后结果按降序排列。我遇到问题的部分是我想将排名添加到新对象的新属性中。
说我有这个代码
var usersSummary = Context.[myStoredProcedure]
return usersSummary.Select(x => new [myObject]
{
UserId = x.UserID,
FirstName = x.FirstName,
LastName = x.LastName,
TotalPoints = x.TotalPoints,
LeaderBoardRank = //this part here
Email = x.Email,
CreatedDate = x.CreatedDate
}).OrderByDescending(x => x.TotalPoints).ToList();
我希望LeaderBoardRank 成为他们的排名。它们已经按排名顺序排序,因此第一个对象将是 1 ,接下来是 2 ,依此类推。由于这不是一个普通的 c# 循环,我不太清楚如何用排名填充这个属性。
【问题讨论】: