Per risolvere questo problema le persone utilizzano la procedura memorizzata.
Create FUNCTION TruncateTime(dateValue DateTime) RETURNS date return Date(dateValue);
Quindi è molto, molto disordinato. Ma a parte l'utilizzo della stored procedure, ho usato questa 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();
Effettuiamo la selezione di tutti i record più recenti di ieri. .ToList() esegue una query e quindi stiamo filtrando ciò che vogliamo. Questo metodo seleziona il minimo di record necessari.