Entity Framework - Utilisation d'attributs dans les requêtes de clause IN
Dans Entity Framework, le filtrage des entités avec des critères complexes impliquant à la fois des clauses WHERE et IN peut être réalisés grâce à des techniques spécifiques. Considérez la tâche consistant à filtrer les enregistrements de base de données en fonction des attributs dans les tables et à utiliser une clause IN pour faire correspondre des valeurs spécifiques.
Pour y parvenir dans Entity Framework, on suggère d'utiliser la méthode Contains. Par exemple, étant donné les tableaux suivants :
Licenses ------------- license INT number INT name VARCHAR ...
La requête SQL souhaitée utilisant Entity Framework peut être représentée comme :
SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99)
Pour créer cette requête dans EF, nous pouvons utiliser ce qui suit code :
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(); }
La méthode Contains permet une correspondance flexible dans la clause IN, permettant aux développeurs de spécifier une collection de valeurs avec lesquelles comparer l'attribut spécifié dans le Requête Entity Framework.
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!