EF 4.1: различные хеши моделей при работе на сервере сборки VS Dev Server - PullRequest
2 голосов
/ 16 августа 2011

Я выполняю некоторые модульные тесты с одинаковыми двоичными файлами на моем сервере сборки и на моем сервере разработки. Некоторые из моих тестов пишут в БД, поэтому, когда я проверяю, при необходимости, БД перестраивается EF. Это отлично работает в течение нескольких месяцев. Сегодня мы заметили, что когда мы запускаем приложение в Dev, EF снова пытается восстановить базу данных. После некоторого исследования я понял, что разборка и перестройка БД на коробке сборки создает БД с одним хешем, а перестройка БД с сервера Dev создает БД с другим (другим) хешем.

Обе среды работают с одной и той же базой данных. Это не имеет большого значения, за исключением того, что мой сервер сборки также развертывает несколько хранимых процедур. Эти хранимые процедуры уничтожаются, когда сервер Dev запускается и удаляет базу данных.

Однако здесь существует более широкая проблема, поскольку я явно не понимаю, что влияет на ModelHash в таблице EdmMetadata. Я думал, что это основано на реальных двоичных файлах, но это должно быть больше, чем это. Я использую одинаковые двоичные файлы на обеих машинах.

Когда разные среды создают базу данных, это их ModelHash:

BuildBox: 3E..FA
Local:    3E..FA
Dev:      99..58

Обратите внимание, что мой локальный компьютер и окно сборки совпадают. Это полностью повторяется. Кто-нибудь знает, что здесь может происходить?

Спасибо

1 Ответ

1 голос
/ 16 августа 2011

В двух средах использовались несколько разные версии EF. Моя сборочная коробка использовала предварительную версию. Дев использовал RTF. Несмотря на то, что они оба были EF 4.1, они были разными сборками и использовали разные коды ModelHash.

Я установил RTF во всех средах, и теперь все они производят один и тот же ModelHash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...