Usando Dapper dentro de una clase estática

dapper micro-orm orm

Pregunta

Estoy construyendo sincronización para mi sistema. Ahora, necesito insertar todo el procedimiento almacenado ejecutado en una tabla. Mi solución fue agregar una clase estática y ejecutar Dapper dentro de ella. En teoría, las clases / funciones estáticas están bien para usar cuando no están cambiando ningún estado de objeto que sea el caso. Pensé que sería un poco más cuidadoso y les preguntaría qué piensan. ¿Podría causar algún problema en el futuro?

public static class Model
{            
    public static int ExecuteStoreProcedure(string name, string xml,bool sync=true)
    {
        using (SqlConnection con = new SqlConnection(Strings.ConnectionString))
        {
            //pre

            var result = con.Query<int>(name,
                new { xml = xml },
            commandType: CommandType.StoredProcedure).FirstOrDefault();

            //post
            // insert into new table goes here
        }
     }
}

Respuesta experta

No está accediendo a ningún estado compartido, y no confiando en una conexión estática, tan seguro, eso funcionará. Hay muchas formas de implementar el acceso a los datos, con diferentes intercambios, pero eso debería funcionar bien. No caiga en la "trampa Java" de suponer que necesita 16 capas de abstracción (incluyendo un ISomething, un AbstractSomething, dos Somethings, un AbstractSomethingFactory y un SomethingFactoryFactory con 200 líneas de configuración en un oscuro lenguaje de marcado) para hacer algo simple.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué