estoy utilizando LINQ a Entidades para recuperar fechas de compra de artículos de la siguiente manera:Usando DateTime en la dinámica de LINQ a Entidades
where EntityFunctions.TruncateTime(order.PurchaseDate) == myPurchaseDate.date
La clave aquí es que la columna de la base de datos contiene la fecha y la hora así que el tiempo debe ser despojado para la comparación Este código funciona bien.
Ahora, quiero hacer lo mismo usando LINQ dinámico para Entidades. Estoy usando dynamic.cs de la carpeta de ejemplos de código VS2010. Cuando codigo:
.where("EntityFunctions.TruncateTime(PurchaseDate) == @0", myPurchaseDate.date);
o cualquier variante del mismo recibo un mensaje de error. ¿Qué debo codificar como valor de cadena para que esto funcione? (Como puedo usar .StartsWith o .Contains dentro de la cadena, espero que exista alguna función de fecha dinámica que LINQ reconozca).
sé que puedo crear la consulta LINQ dinámica para ser un intervalo de fechas, conceptualmente:
PurchaseDate >= [email protected] and PurchaseDate <= myPurchaseDate+23:59:59
De hecho, tal vez un intervalo de fechas es más eficiente desde el punto de vista de SQL Server, pero me gustaría saber si algo como TruncateTime o ToShortDate existe dentro de Dynamic LINQ to Entities.
¿Qué versión de Entity Framework está utilizando? –