Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Definizione di un livello di accesso ai dati in .NET 3.5

Quel codice è solo cattivo . SQL Injection; DataTable senza motivo; StringBuilder senza motivo. Qui è fatto semplicemente, usando "dapper" (disponibile gratuitamente su 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() ?? "";
}

Questo è:

  • sicura per iniezione (completamente parametrizzata)
  • diretto (nessun layer non necessario come DataTable)
  • ottimizzato