Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

EntityFramework 6.1.3 e MySQL DbFunctions.TruncateTime não existe?


Para resolver esse problema, as pessoas usam o procedimento armazenado.
Create FUNCTION TruncateTime(dateValue DateTime) RETURNS date return Date(dateValue);

Então é muito, muito confuso. Mas, exceto de usar o procedimento armazenado, usei essa 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();

Fazemos seleção de todos os discos que são mais recentes do que ontem. .ToList() executa uma consulta e então estamos filtrando o que queremos. Este método seleciona o mínimo de registros necessários.