Указанная схема недействительна - PullRequest
0 голосов
/ 15 февраля 2012

Я получаю сообщение об ошибке, у меня есть ошибка с структурой сущностей. У меня есть SQL Server 2005 с пакетом обновления 2 (SP2).

Когда ProviderManifestToken = "2008", я получаю эту ошибку.

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

Я сделал изменение , показанное здесь , и когда меняют на "2005", я получаю

Schema specified is not valid. Errors: 
DatabaseAccess.Schema.Model1.ssdl(2,123) : error 0169: All SSDL artifacts must
target the same provider. The ProviderManifestToken '2008' is different 
from '2005' that was encountered earlier.

Я не понимаю

Версия моей базы данных - Microsoft SQL Server Standard Edition (64-разрядная версия) 9.00.3042.00

Я попытался удалить схему и добавить ее снова безрезультатно. Перезапуск и т. Д.

Все остальные поля даты и времени обнуляются

1 Ответ

0 голосов
/ 16 февраля 2012

Я видел это раньше, и это связано с тем, что дата и время могут быть Nullable.Я думаю, что если вы взломаете код, вы увидите, что значение даты и времени при создании нового экземпляра класса является значением по умолчанию (DateTime), а не нулевым, и именно это значение вызывает ошибку.

Если возможно, можете ли вы попытаться обнулить значение DateTime перед сохранением изменений в контексте?

Я попытаюсь собрать пример, демонстрирующий, когда и как это происходит.

Нашел краткое описаниеобъяснение здесь:

http://dotnetslackers.com/Community/blogs/bmains/archive/2010/11/19/entity-framework-4-and-quot-the-conversion-of-a-datetime2-data-type-to-a-datetime-data-type-resulted-in-an-out-of-range-value-quot.aspx

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