sql >> Base de Datos >  >> RDS >> Sqlserver

Definición de una capa de acceso a datos en .NET 3.5

Ese código es simplemente malo . Inyección SQL; DataTable sin motivo; StringBuilder sin ningún motivo. Aquí se hace simplemente, usando "dapper" (disponible gratuitamente en 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() ?? "";
}

Esto es:

  • seguro para inyección (totalmente parametrizado)
  • directo (sin capas innecesarias como DataTable)
  • optimizado