Entity Framework : Utilisation de la clause 'IN' avec des attributs
Dans le domaine des requêtes de base de données, la clause 'IN' permet le filtrage efficace des enregistrements basé sur un ensemble de valeurs prédéfinies. Avec Entity Framework (EF), cette fonctionnalité peut être exploitée pour améliorer la flexibilité de la récupération des données.
Cet article aborde un scénario courant : comment construire une requête EF qui combine de manière transparente à la fois « WHERE » et « IN » " clauses. L'objectif est de filtrer les entités en fonction de plusieurs critères de champ, y compris une comparaison « IN ».
Conception de requêtes avec les clauses « WHERE » et « IN »
Considérons le scénario suivant dans lequel une table « Licences » existe avec des champs tels que « licence » et « numéro ». L'objectif est de récupérer toutes les licences pour lesquelles le champ « licence » est égal à une valeur spécifique et le champ « numéro » correspond à l'un des ensembles de valeurs donnés.
Dans une requête de base de données traditionnelle, cela serait exprimé comme :
SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99);
Implémentation de la requête dans EF
La traduction de cette requête en EF nécessite un compréhension précise de sa syntaxe. Pour y parvenir, nous pouvons utiliser la méthode 'Contient' :
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(); }
Dans cet extrait :
Cette approche intègre de manière transparente 'WHERE' et 'IN 'clauses dans EF, fournissant une solution robuste pour filtrer les entités en fonction de plusieurs critères.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!