Interroger une base de données avec une clause IN à l'aide de Dapper ORM et IEnumerable Values
Interroger une base de données avec une clause IN est une opération courante, et lors de l'utilisation Dapper ORM, il existe un moyen efficace d'écrire ces requêtes lorsque les valeurs de la clause IN proviennent de l'entreprise logique.
Au lieu de concaténer manuellement les valeurs dans une chaîne séparée par des virgules, Dapper vous permet de transmettre directement un IEnumerable de valeurs en tant que paramètre. Par exemple, étant donné la requête :
SELECT * FROM SomeTable WHERE id IN (commaSeparatedListOfIDs)
Où virguleSeparatedListOfIDs est un IEnumerable d'entiers, vous pouvez construire la requête à l'aide de Dapper comme suit :
string sql = "SELECT * FROM SomeTable WHERE id IN @ids"; var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 }});
Dapper générera automatiquement le SQL approprié de la clause IN et liez les valeurs du paramètre ids. Notez que si vous utilisez PostgreSQL, une approche légèrement différente est requise. Reportez-vous à la réponse fournie pour plus de détails.
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!