2010-12-07 21 views
18

estoy tratando de utilizar .Any() en una sentencia if, así:LINQ a SQL .Any() con múltiples condiciones?

if(this.db.Users.Any(x => x.UserID == UserID)){ 
    // do stuff 
} 

¿Hay alguna manera de poner varias condiciones en el interior de la .Any()? Por ejemplo algo como:

if(this.db.Users.Any(x => x.UserID == UserID AND x.UserName == UserName)){ 
    // do stuff 
} 

¿O hay una mejor manera de hacerlo?

Respuesta

32

Claro, utilice el operador &&.

if(this.db.Users.Any(x => x.UserID == UserID && x.UserName == UserName)){ 
    // do stuff 
} 

Si se puede usar en un comunicado por if, puede utilizar aquí. La lambda necesita evaluar a un bool.

+1

Doh! He intentado que antes, pero que estaba recibiendo un error, al parecer algo más era incorrecta en el momento. ¡Gracias! – Sgraffite

+0

¿Cómo podemos especificar bloques de condiciones. p.ej. .Any ((x => x.UserID == UserID && x.UserName == UserName) || << Some condition >> && << Some condition >>) –

+1

@VijayBalkawade así como así. si se puede usar en una declaración 'if', entonces se puede utilizar aquí. –

6
if(this.db.Users.Any(x => x.UserID == UserID && x.UserName == UserName)){ 
    // do stuff 
} 
Cuestiones relacionadas