Dapper UpdateAsync ignora la columna

c# dapper dapper-contrib

Pregunta

Estoy tratando de actualizar con Dapper.Contrib esta tabla:

public class MyTable
{
    public int ID { get; set; }
    public int SomeColumn1 { get; set; }
    public int SomeColumn2 { get; set; }
    public int CreateUserID { get; set; }
    public int UpdateUserID { get; set; }
}

No quiero actualizar la columna CreateUserID porque es un método de actualización, por lo que quiero ignorar esta columna al llamar al método Dapper - Update.Async (entidad).

Intenté usar los atributos [NotMapped] y [UpdateIgnore] pero sin ayuda.

Nota: Todavía quiero que esta columna se transmita en las operaciones de inserción, por lo tanto, [Computado] y [Escribir (falso)] no es apropiado.

¿Alguien me puede ayudar a descubrir cómo ignorar esta columna cuando actualizo la tabla en la base de datos?

Gracias por adelantado.

Respuesta popular

Como @Evk ya mencionó en su respuesta, todavía no hay una solución implementada. Él también ha mencionado las soluciones provisionales.

Aparte de eso, puede optar por utilizar Dapper ( IDbConnection.Execute(...) ) evitando directamente Dapper.Contrib para este caso particular.

Tuve un problema similar (sin embargo, con DapperExtensions) con una actualización de columna concreta y otras consultas complejas que las DapperExtensions no pueden generar en absoluto o necesitan mucho trabajo para hacerlo funcionar.

Usé Dapper directamente en lugar de DapperExtensions para ese caso en particular; otra parte del proyecto aún se beneficia de DapperExtensions. Esto es como una banda de rodamiento. Tales casos son muy limitados. Encontré que esta es la mejor solución en lugar de ajustar / forzar DapperExtensions para esto. Esto también me ahorró tiempo y esfuerzos.



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é