46 votes

"PAS DE" clause de LINQ to entities

Est-il de toute façon je peux créer un pas dans la clause comme je l'aurais dans SQL Server, Linq to entities?

92voto

tvanfosson Points 268301

Voici un lien pour les prises en charge les extensions du Jeu dans LINQ to entities. On dirait qu'il prend en charge de définir la différence par Except de sorte que vous pourriez faire quelque chose comme:

   var exceptionList = new List { "exception1", "exception2" };
   var query = myEntities.MyEntity
                         .Select( e => e.Name )
                         .Except( exceptionList );

Cela suppose une entité complexe dans lequel vous êtes à l'exclusion de certains d'entre eux en fonction de leurs noms et voulez les noms des entités qui ne sont pas exclus. Si vous vouliez l'ensemble de l'entité, vous aurez besoin de construire des exceptions comme des instances de la classe d'entité qui leur permet de satisfaire à la valeur par défaut opérateur d'égalité (voir docs).

14voto

yfeldblum Points 42613

Essayez:

from p in db.Products
where !theBadCategories.Contains(p.Category)
select p;

Quelle est la requête SQL que vous voulez traduire dans une requête Linq?

4voto

Mayank Points 21

J'ai pris une liste et utilisé,

!MyList.Contains(table.columb.tostring())

Remarque: assurez-vous d'utiliser la Liste et pas Ilist

-4voto

t-sql <> est égal à linq to entities != alors essayez cette !=

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X