Maison >base de données >tutoriel mysql >Comment utiliser efficacement la clause IN avec les requêtes d'attributs dans Entity Framework ?

Comment utiliser efficacement la clause IN avec les requêtes d'attributs dans Entity Framework ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-03 09:39:39432parcourir

How to Efficiently Use the IN Clause with Attribute Queries in Entity Framework?

Entity Framework : utilisation de la clause IN avec des requêtes d'attributs

Lorsque vous travaillez avec Entity Framework (EF), filtrage des données à l'aide de WHERE et IN les clauses peuvent s’avérer difficiles. Supposons que nous souhaitions récupérer des lignes de la table Licences en fonction d'une valeur de licence spécifique et d'une liste de valeurs numériques stockées dans un tableau.

Implémentation de requête dans EF

Le Le code EF suivant montre comment effectuer cela requête :

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();
}

Explication

  • Le tableau ids contient les valeurs souhaitées pour la clause IN.
  • La méthode Where est utilisée pour filtrer la table Licences.
  • La première condition (i.license == mylicense) sélectionne les lignes en fonction de la licence spécifiée value.
  • La deuxième condition (ids.Contains(i.number)) utilise la méthode Contains du tableau pour filtrer les lignes en fonction des valeurs dans les identifiants.
  • La méthode ToList convertit le résultat requête dans une liste d'objets License.

Cette solution combine une clause WHERE standard avec une clause IN, permettant un filtrage efficace d'Entity Framework données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn