Oh, acabo de encontrar que el error es causado por otra parte del código. Caso cerrado.Usando Linq para seleccionar el valor máximo en un grupo
Tengo 2 tablas
1- userinfo
id uid name
1 11 Billy
2 22 Paul
3 33 Joshua
2- Puntuación
id uid score
1 11 30
2 22 40
3 11 50
4 11 60
5 33 20
6 33 70
7 33 80
tengo una clase llamada ScoreUser
public class ScoreUser{
public long uid{get; set;}
public string name{get;set;}
public int score{get;set;}
}
quiero usar l inq para consultar las dos tablas anteriores, obtener la puntuación máxima de cada usuario y asignarla al Objeto ScoreUser. utilizo el siguiente código:
from s in Scores
join i in UserInfos
on s.uid equals i.uid
group uscore by new { s.uid, i.name} into g
let maxScore = g.Max(p => p.score)
select new ScoreUser
{
uid = g.Key.uid,
name = g.Key.name,
score = maxScore
}
Sin embargo, este código no funciona. Produce 7 objetos en lugar de 3. ¿Qué debo hacer?
lo que está siendo devuelto? ¿Estás obteniendo un error? – Theresa
¿No debería cambiar las tablas de puntajes y UserInfos? "desde i en UserInfos se unen en puntajes ..." Básicamente, ahora su selección principal tiene 7 registros. –