Comment puis-je projeter le numéro de ligne sur le jeu de résultats de requête linq.Comment projeter un numéro de ligne dans les résultats de requête Linq
Au lieu de dire:
champ1, champ2, field3
champ1, champ2, field3
Je voudrais:
1, champ1, champ2, field3
2 , field1, field2, field3
Voici ma tentative à ceci:
public List<ScoreWithRank> GetHighScoresWithRank(string gameId, int count)
{
Guid guid = new Guid(gameId);
using (PPGEntities entities = new PPGEntities())
{
int i = 1;
var query = from s in entities.Scores
where s.Game.Id == guid
orderby s.PlayerScore descending
select new ScoreWithRank()
{
Rank=i++,
PlayerName = s.PlayerName,
PlayerScore = s.PlayerScore
};
return query.ToList<ScoreWithRank>();
}
}
Malheureusement, le "Rank = i ++" ligne lève l'exception à la compilation suivante:
"Un arbre d'expression ne peut pas contenir un opérateur d'affectation"
double possible de [Comment ajouter un champ d'index aux résultats Linq] (http://stackoverflow.com/questions/269058/how-do-you-add-an-index-field- to-linq-results) –