Tengo un problema con una consulta en Linq to Entities que espero que alguien pueda arrojar luz sobre :-) Lo que intento hacer es crear una consulta que se una tres tablasLINQ to Entities consulta de tabla de tres tablas
Hasta ahora funciona, pero como la última tabla que intento unir está vacía, el resultado de la consulta no contiene ningún registro. Cuando elimino la última unión, me da los resultados correctos.
Mi consulta es el siguiente:
var query = from p in db.QuizParticipants
join points in db.ParticipantPoints on p.id
equals points.participantId into participantsGroup
from po in participantsGroup
join winners in db.Winners on p.id
equals winners.participantId into winnersGroup
from w in winnersGroup
where p.hasAttended == 1 && p.weeknumber == weeknumber
select new
{
ParticipantId = p.id,
HasAttended = p.hasAttended,
Weeknumber = p.weeknumber,
UmbracoMemberId = p.umbMemberId,
Points = po.points,
HasWonFirstPrize = w.hasWonFirstPrize,
HasWonVoucher = w.hasWonVoucher
};
Lo que me gustaría es conseguir algunos registros, incluso si la tabla de ganadores está vacío o no hay ninguna coincidencia en el mismo.
¡Cualquier ayuda/insinuación sobre esto es muy apreciada! :-)
Muchas gracias de antemano.
/Bo
Joel, ¡eso es tan genial y limpio! Y funciona :-) Muchas gracias. Ahora en la parte difícil: tanto tu respuesta como cadrell0 en realidad me han ayudado, entonces, ¿qué respuesta marcar como aceptada? ¿Cuál es la política sobre stackoverflow? – bomortensen
Si yo fuera el autor de la pregunta, rechazaría ambas opciones y aceptaría la que terminase usando. – cadrell0