Как ProviderManifestToken влияет на базу данных, если версии не совпадают? - PullRequest
0 голосов
/ 30 июня 2011

У нас есть простое консольное приложение, которое использует EF 4 для обработки данных;читать из одного, делать что-то, вставлять в другую базу данных.В файле EDMX для ProviderManifestToken для целевой базы данных установлено значение "2005".

Вчера наше приложение взорвалось.Короче говоря, наш консультант говорит, что база данных, которая должна быть SQL Server 2000, была обновлена ​​до 2005 года. Это обновление, по их мнению, стало причиной гибели приложения.Никто не может объяснить, как произошло обновление.

Может ли значение ProviderManifestToken вызвать обновление базы данных?Например, если база данных в настоящее время 2000 и это приложение работает с «ProviderManifestToken = 2005», может ли это вызвать обновление базы данных?Что происходит, если вообще что-то происходит, если версии не совпадают?

1 Ответ

1 голос
/ 30 июня 2011

Как вы думаете, Entity Framework содержит установочный DVD для обновления SQL Server 2000 до SQL Server 2005? Нет, это не так. токен манифеста провайдера описывает только диалект (EF генерирует запросы на основе диалекта). Это не вызывает никаких изменений в базе данных. Кто-то должен был обновить вашу базу данных (обновление до новой версии не бесплатное - вы должны иметь лицензию для этого, это не то, что загружается через обновление Windows).

Btw. SQL Server 2000 не поддерживается EFv4 в любом случае. Если ваш диалект был установлен на 2005, и ваше решение работало с вашей базой данных, то это был 2005 год, потому что запросы linq-to-entity, использующие First, Single, Take, Skip и т. Д., Сгенерированные для Диалект 2005 не работает на SQL Server 2000.

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