sql >> Base de Datos >  >> RDS >> Mysql

EntityFramework 6.1.3 y MySQL DbFunctions.TruncateTime no existe?

Para resolver este problema, la gente usa el procedimiento almacenado.

Create FUNCTION TruncateTime(dateValue DateTime) RETURNS date return Date(dateValue);

Así que es muy, muy desordenado. Pero a excepción de usar el procedimiento almacenado, he usado esta variante.

var yesterday = DateTime.Now.AddDays(-1);

var newCustomersCount = _context
  .Customers
  .Where(x => x.RegisterDate > yesterday)
  .ToList()
  .Where(x => x.RegisterDate.Date == DateTime.Now.Date)
  .Count();

Hacemos una selección de todos los registros más nuevos que ayer. .ToList() ejecuta una consulta y luego estamos filtrando lo que queremos. Este método selecciona el mínimo de registros necesarios.