¿Cómo insertar DateTime (o DateTime2) con Dapper?

.net c# dapper datetime datetime2

Pregunta

Estoy tratando de hacer lo siguiente:

var p = new DynamicParameters();
p.Add(...);
p.Add(...);
// ideally I want to insert null for end date, but I also tried DateTime.MinValue
// or some other date, but doesn't help
p.Add("@endDate", null, DbType.DateTime, ParameterDirection.Input);
using (var con = new SqlConnection(ConnectionString))
{
    // stored procedure does 'select SCOPE_IDENTITY()' to return the id of inserted row.
    int id = con.Query<int>("StoredProcedureName", p, commandType: CommandType.StoredProcedure).First();
}

Esto arroja "InvalidCastException" y creo que esto se debe a la fecha. Anteriormente tenía datetime2 (20) para endDate en sql db, lo cambié a datetime para ver si lo soluciona, pero no es así. ¿Alguien puede ayudar?

Respuesta aceptada

El molde no válido aquí es que SCOPE_IDENTITY() realmente devuelve decimal . Los parámetros funcionan bien.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow