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.