Использование SQL Server 2008 и SQL Server 2005 и дата и время

datetime datetime2 entity-framework sql-server-2005 sql-server-2008

Вопрос

Я построил модель структуры сущности на основе базы данных 2008 года. Все работает хорошо с базой данных 2008 года. Когда я пытаюсь обновить сущность в базе данных 2005 года, я получаю эту ошибку.

The version of SQL Server in use does not support datatype 'datetime2

Я специально не использовал какие-либо функции 2008 года при создании базы данных. Я не могу найти ссылку на datetime2 в коде. И, да, столбец определяется как «дата / время» в базе данных.

Принятый ответ

Быстрый Google указывает мне на то, что выглядит как решение .

Откройте свой EDMX в редакторе файлов (или «откройте с помощью» в Visual Studio и выберите «Редактор XML»). Вверху вы найдете модель хранилища, у которой есть атрибут ProviderManifestToken. Это должно иметь значение 2008. Измените его на 2005, перекомпилируйте и все работает.

ПРИМЕЧАНИЕ: вам придется делать это каждый раз, когда вы обновляете модель из базы данных.


Популярные ответы

Быстрый просмотр линии:

<Schema Namespace="Foobar.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" >


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему