Ten kod jest po prostu zły . wstrzyknięcie SQL; DataTable bez powodu; StringBuilder bez powodu. Tutaj robi się to po prostu, używając „dapera” (dostępnego bezpłatnie w NuGet):
using(var conn = GetSomeConnection()) { // <== todo
return conn.Query<string>(
"select title from MyTable where [email protected] and [email protected]",
new { id = myId, var = myVar }).FirstOrDefault() ?? "";
}
To jest:
- bezpieczna iniekcja (w pełni sparametryzowana)
- bezpośrednio (bez zbędnych warstw, takich jak DataTable)
- zoptymalizowany