entidad vs. dapper datetime check no trabajador

asp.net-mvc dapper entity-framework

Pregunta

Tengo entidad y también uso dapper, tengo 1 formulario con 2 campos de fecha ... nombrados antes y después para que los usuarios puedan buscar entre esas fechas. El de la entidad funciona perfectamente pero el de apuesto no funciona por alguna razón, lo que podría estar mal aquí es la entidad

var article = (from x in db.Articles
                           where  x.created >= before && x.created <= after
                           select x);

y aquí está el de apuesto

var article = sqlConnection.Query<Article>("Select * from articles where created>=@befor AND created<=@afte ", new { befor = before, afte = after});

y sí, tengo todas las conexiones para que Dapper funcione ya que va a la base de datos, pero por alguna razón no está recogiendo registros entre esas 2 fechas ... cualquier sugerencia ...

Respuesta aceptada

apuesto es sólo una envoltura alrededor de TSQL en bruto (con una ligera amonestación en torno in donde pulcro añade un poco de magia para hacer varadic "en" consultas más simples). Asi que; si funciona en TSQL debería funcionar bien en dapper, siempre que tus entradas tengan sentido. Por ejemplo, estoy asumiendo que before y after en este ejemplo se escriben como no anulable DateTime , es decir,

DateTime before = ..., after = ...;
var article = sqlConnection.Query<Article>(
    "Select * from articles where created>=@befor AND created<=@afte ",
    new { befor = before, afte = after});

como nota al margen, tal vez sería más obvio que solo use:

DateTime before = ..., after = ...;
var article = sqlConnection.Query<Article>(
    "Select * from articles where created>=@before AND created<=@after",
    new { before, after });

pero fundamentalmente, siempre que esos parámetros tengan valores no null que sean DateTime , debería funcionar bien.


Respuesta popular

El problema aquí podría ser que los valores de before y after se envían como una string y la configuración regional actual puede estar causando que la fecha se interprete incorrectamente.



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é