そのため、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# ループではないため、このプロパティにランキングを入力する方法がよくわかりません。