Clause LIKE paramétrée dans une instruction SQL utilisant Dapper

dapper sql

Question

Je veux effectuer la requête suivante en utilisant Dapper, qui ne renvoie pas les résultats attendus (je pense qu'il faut traiter le paramètre @pName comme texte littéral dans les guillemets simples?):

var q = "SELECT * FROM Users WHERE Name LIKE '@pName%'";

@pName est le paramètre auquel j'attribue une valeur lors de l'exécution de la requête.

Les choses fonctionnent si je construis juste le SQL comme:

var q = "SELECT * FROM Users WHERE Name LIKE '" + name + "%'";

.. mais je préférerais utiliser un paramètre si possible.

J'exécute la requête en utilisant le code suivant:

o = _cn.Query<User>(q, new { pName = new DbString { Value = name, IsFixedLength = false, Length = 25, IsAnsi = true } }).ToList();

Comment est-ce que je m'en sers avec Dapper?

Réponse acceptée

SELECT * FROM Users WHERE Name LIKE @pName + '%'



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