Я выполняю некоторые модульные тесты с одинаковыми двоичными файлами на моем сервере сборки и на моем сервере разработки. Некоторые из моих тестов пишут в БД, поэтому, когда я проверяю, при необходимости, БД перестраивается EF. Это отлично работает в течение нескольких месяцев. Сегодня мы заметили, что когда мы запускаем приложение в Dev, EF снова пытается восстановить базу данных. После некоторого исследования я понял, что разборка и перестройка БД на коробке сборки создает БД с одним хешем, а перестройка БД с сервера Dev создает БД с другим (другим) хешем.
Обе среды работают с одной и той же базой данных. Это не имеет большого значения, за исключением того, что мой сервер сборки также развертывает несколько хранимых процедур. Эти хранимые процедуры уничтожаются, когда сервер Dev запускается и удаляет базу данных.
Однако здесь существует более широкая проблема, поскольку я явно не понимаю, что влияет на ModelHash в таблице EdmMetadata. Я думал, что это основано на реальных двоичных файлах, но это должно быть больше, чем это. Я использую одинаковые двоичные файлы на обеих машинах.
Когда разные среды создают базу данных, это их ModelHash:
BuildBox: 3E..FA
Local: 3E..FA
Dev: 99..58
Обратите внимание, что мой локальный компьютер и окно сборки совпадают. Это полностью повторяется. Кто-нибудь знает, что здесь может происходить?
Спасибо