2010-12-07 6 views
18

Je suis en train d'utiliser .Tout() dans une instruction if comme ceci:Linq to SQL .Any() avec plusieurs conditions?

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

Est-il possible que je peux mettre plusieurs conditions à l'intérieur de la .Tout()? Par exemple quelque chose comme:

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

Ou y a-t-il une meilleure façon de faire?

Répondre

32

Bien sûr, utilisez l'opérateur &&.

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

Si vous pouvez l'utiliser dans une déclaration if, vous pouvez l'utiliser ici. Le lambda doit évaluer à un bool.

+1

Doh! J'ai essayé cela plus tôt mais j'avais une erreur, apparemment quelque chose d'autre était incorrect à ce moment-là. Merci! – Sgraffite

+0

Comment pouvons-nous spécifier des blocs de conditions. par exemple. .Any ((x => x.UserID == UserID && x.UserName == UserName) || << Certaines conditions >> && << Certaines conditions >>) –

+1

@VijayBalkawade juste comme ça. Si vous pouvez l'utiliser dans une instruction 'if', vous pouvez l'utiliser ici. –

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