В настоящее время мы находимся в настройке, в которой несколько систем используют одну огромную базу данных. В нашей новейшей системе мы используем Entity Framework Core с подходом «сначала код». К сожалению, некоторые изменения базы данных, сделанные другими системами, не обновляются в системе с первым кодом. Поскольку у нас нет полного покрытия интеграционными тестами, эти изменения иногда go не уведомляются, пока кто-то случайно не использует измененный объект.
Мы не можем просто быстро изменить настройку; поэтому мы хотели бы иметь некоторые автоматические проверки работоспособности, синхронизируются ли база данных и модели. В поисках такого решения я нашел этот прекрасный фрагмент кода: Существует ли эквивалент Database.CompatibleWithModel (bool) в EF Core
Но явно указано, что этот код не должен использоваться (и это все равно больше не работает). Я нашел здесь еще несколько идей от Брайса: Убедитесь, что снимок модели EF Core, миграции и фактическая схема базы данных согласованы друг с другом . Но эти подходы в основном ручные, соответственно, их нелегко использовать напрямую из кода.
Существует ли уже решение, которое позволяет напрямую проверить синхронизацию между отображением и фактической базой данных из C#? Проверяя интерфейс Entity Framework Core, я думаю, у нас была бы вся необходимая информация, но программирование этой проверки в общем c стиле кажется огромной задачей?