J'ai besoin de filtrer certaines entités par divers champs en utilisant des clauses WHERE et IN "normales" dans une requête sur ma base de données, mais je ne sais pas comment faire cela avec EF.
Voici l'approche:
Table de base de données
Licenses
-------------
license INT
number INT
name VARCHAR
...
Requête SQL souhaitée dans EF
SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99)
Code EF
using (DatabaseEntities db = new DatabaseEntities ())
{
return db.Licenses.Where(
i => i.license == mylicense
// another filter
).ToList();
}
J'ai essayé avec ANY et CONTAINS, mais je ne sais pas comment faire avec EF.
Comment faire cette requête dans EF?
int[] ids = new int[]{1,2,3,45,99};
using (DatabaseEntities db = new DatabaseEntities ())
{
return db.Licenses.Where(
i => i.license == mylicense
&& ids.Contains(i.number)
).ToList();
}
devrait marcher