2012-05-12 14 views

Odpowiedz

4

To bezpieczny ponieważ jesteś nie budowanie SQL dynamicznie w całej. Nazwa to normalny parametr. W rzeczywistości nie ma to nic wspólnego z Dapperem.

Używanie konkatału ciągów tutaj jest właściwym wyborem. Alternatywnie możesz użyć funkcji SUBSTRING_INDEX.

15

Nie ma problemu z tym kodem, ale innym sposobem jest przeprowadzenie concat na rozmówcy, tj

const string sql = "SELECT * from user_profile WHERE FirstName LIKE @name;"; 
var result = connection.Query<Profile>(sql, new {name = "%"+name+"%"}); 
+1

To działa, ale zapewnia sever mniej informacji na temat struktury wzoru. Nie masz pewności, czy ma to znaczenie dla wyszukiwania podłańcuchowego, ale z całą pewnością ma na początek - z wyszukiwaniami. – usr

+0

@usr byłoby interesujące profilować to. Nie ma wpływu na inne RDBMS w negatywny sposób. –

+0

Dziękuję wam za odpowiedzi! – Epstone