2012-01-13 2 views
5

Ho una domanda veloce perché il mio cervello non funzionerà con me ...
Dove posso specificare che voglio che user_id sia in "Utenti" che NON sono in "Gruppi"?Come specificare "non in" in questa espressione 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

Che aspetto ha la struttura del database? (o c'è una proprietà Gruppi generata negli utenti?) –

+0

Ogni gruppo deve avere un utente, ma voglio gli utenti che non sono nella tabella di gruppo. – Niklas

risposta

11

Il seguente dovrebbe funzionare (assumendo che ho capito bene la tua domanda):

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, grazie! – Niklas

+0

Davvero utile! Grazie. – Deepal