¿Cómo puedo proyectar el número de fila en el conjunto de resultados de la consulta de linq?Cómo proyectar un número de línea en Linq Query Results
En lugar de decir:
campo1, campo2, field3
campo1, campo2, field3
me gustaría:
1, campo1, campo2, field3
2 , campo1, campo2, campo3
Aquí está mi intento en este:
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>();
}
}
Por desgracia, el "Rango = i ++" línea lanza la siguiente excepción en tiempo de compilación:
"Un árbol de expresión no puede contener un operador de asignación"
duplicado posible de [¿Cómo agregar un campo de índice de resultados Linq] (http://stackoverflow.com/questions/269058/how-do-you-add-an-index-field- to-linq-results) –