Bastante simple, estoy convirtiendo nuestro sistema existente de EF a Dapper. Por diversas razones corporativas, no podemos realmente cambiar la base de datos, algunas de las tablas tienen columnas que son del tipo DateTime2. Dapper convierte cualquier .Time DateTime a DbType.DateTime.¿Cómo puedo obtener que Dapper asigne .net datetime a datetime2?
Alguien debe haber chocado contra esto antes y ha encontrado una solución fácil?
¿Qué pasa si algunos son DateTime y otros son DateTime2? –
@MetroSmurf En realidad, creo que seguir con DateTime2 es la mejor opción. DATETIME2 tiene una conversión implícita a DATETIME y viceversa en SQL Server. El único problema será la pérdida de precisión en la marca de tiempo porque .Net DateTime es más preciso que SQL Server DATETIME. Sin embargo, este ha sido un problema conocido durante años, por lo que se recomienda utilizar DATETIME2 en primer lugar. – Randolpho
Lo intenté. Sin embargo, no puede insertar un DateTime2 en un DateTime en SQL. Obtienes un error. O para ser más precisos, supongo que si declara su parámetro de comando como DateTime2, SQL no le permitirá insertarlo en DateTime (no estoy seguro de si SQLClient lo está bloqueando o si se trata de SQL). – Dirk