Mysql
 sql >> Database >  >> RDS >> Mysql

EntityFramework 6.1.3 e MySQL DbFunctions.TruncateTime non esistono?

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.