वह कोड सिर्फ खराब है . एसक्यूएल इंजेक्षन; बिना किसी कारण के डेटाटेबल; बिना किसी कारण के स्ट्रिंगबिल्डर। यहाँ यह "डैपर" (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() ?? "";
}
यह है:
- इंजेक्शन सुरक्षित (पूरी तरह से पैरामीटरयुक्त)
- प्रत्यक्ष (डेटाटेबल जैसी कोई अनावश्यक परत नहीं)
- अनुकूलित