Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Definition einer Datenzugriffsschicht in .NET 3.5

Dieser Code ist einfach schlecht . SQL-Injektion; DataTable ohne Grund; StringBuilder ohne Grund. Hier geschieht dies einfach mit "dapper" (frei verfügbar auf 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() ?? "";
}

Dies ist:

  • injektionssicher (vollständig parametriert)
  • direkt (keine unnötigen Ebenen wie DataTable)
  • optimiert