2012-01-13 19 views
5

Tengo una pregunta rápida porque mi cerebro no funcionará conmigo ...
¿Dónde especifico que quiero el user_id en 'Usuarios' que NO están en 'Grupos'?¿Cómo especifico "no en" en esta expresión lambda?

db.Users.Join(db.Groups, a => a.user_id, b => b.user_id, (a, b) => new SelectListItem 
{ 
    Value = a.user_id.ToString(), 
    Text = a.surname + " " + a.lastname 
}); 
+0

¿Cómo se ve la estructura de la base de datos? (¿o hay una propiedad de grupos generada en los usuarios?) –

+0

Cada grupo debe tener un usuario, pero yo quiero los usuarios que no están en la tabla de grupo. – Niklas

Respuesta

11

Lo siguiente debe trabajar (suponiendo que yo comprendía bien su pregunta):

db.Users 
.Where(x => !db.Groups.Any(y => y.user_id == x.user_id)) 
.Select(a => new SelectListItem 
    { 
     Value = a.user_id.ToString(), 
     Text = a.surname + " " + a.lastname 
    }); 
+0

Spot on, gracias! – Niklas

+0

¡Muy útil! Gracias. – Deepal