dapper "IN" clause ne fonctionne pas avec plusieurs valeurs

dapper

Question

Scénario:

J'ai une propriété de chaîne dans mon modèle qui contient les ID d'un MultiSelectList @Html.ListBox . Si je sélectionne deux éléments de liste, la valeur de ma propriété sera la suivante: 0100,0500 .

Le problème:

Dapper où la clause ne fonctionnera qu'avec une seule valeur:

CODE IN (@SomeCode) // for example, 0100 or 0500 returns results
CODE IN (@SomeCode) // 0100,0500 does not return results.

Réponse populaire

C'est parce que vous n'avez pas besoin de dire à Dapper d'utiliser des parenthèses () . Cela ira bien par ses propres moyens. Essaye ça:

var codes = new List<string> { "0100","0500"};
var sql = "select * from SomeTable where CODE IN @codes";
var items = connection.Query(sql, new { codes });



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi