Entity Framework не работает правильно со столбцом DateTime при преобразовании в совместимость 130 - PullRequest
0 голосов
/ 25 апреля 2019

Приведенный ниже код работал с уровнем совместимости SQL Server 100. Однако при обновлении до 130 начался сбой приведенного ниже кода. Я считаю, что это связано с датой и точностью. Элемент больше не удаляется. Любая подсказка, почему и есть ли обходной путь. Мы хотим использовать некоторые новые функции на уровне 130.

_gameJobsRepository.Delete(q => q.GameId == gameJob.GameId && q.DateCreated <= gameJob.DateCreated);

1 Ответ

0 голосов
/ 25 апреля 2019

Это известная проблема с EF6 и SQL Server 2016+ на уровне 130+. SQL Server представил критическое изменение , и оно сломало EF6.

Обходные пути

  • Оставайтесь на уровне 120
  • Измените все ваши datetime столбцы на datetime2
  • Сохраните все ваши столбцы datetime и используйте перехватчик команд для изменения типов параметров (см. Проблему с github)
  • Переход на EF Core

Также это может быть разрешено в EF 6.3, но никаких обязательств не было, так как это выглядит как небольшая работа по исправлению без внесения критических изменений.

...