Mysql
 sql >> Datenbank >  >> RDS >> Mysql

EntityFramework 6.1.3 und MySQL DbFunctions.TruncateTime existiert nicht?

Um dieses Problem zu lösen, verwenden die Leute eine gespeicherte Prozedur.

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

Es ist also sehr, sehr chaotisch. Aber abgesehen von der Verwendung von Stored Procedures habe ich diese Variante verwendet.

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();

Wir wählen alle Datensätze aus, die neuer als gestern sind. .ToList() führt eine Abfrage aus und dann filtern wir, was wir wollen. Diese Methode wählt das Minimum an notwendigen Datensätzen aus.