Parametrisierte LIKE-Klausel in SQL-Anweisung mit Dapper

dapper sql

Frage

Ich möchte die folgende Abfrage mit Dapper ausführen, die derzeit keine erwarteten Ergebnisse zurückgibt (ich denke, es muss den @ pName-Parameter als Literaltext innerhalb der Hochkommas behandeln?):

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

@pName ist der Parameter, dem ich beim Ausführen der Abfrage einen Wert zuweise.

Dinge funktionieren, wenn ich das SQL einfach wie folgt erstelle:

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

.. aber ich würde es vorziehen, wenn möglich einen param zu verwenden.

Ich führe die Abfrage mit dem folgenden Code aus:

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

Wie komme ich mit Dapper zurecht?

Akzeptierte Antwort

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


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum