Я получаю сообщение об ошибке «Ошибка конверсии при преобразовании даты и/или времени из символьной строки», когда я пытаюсь получить версию моей базы данных путем миграции EF. Проблема заключается в том, что строка даты, сгенерированная EF ('2012-03-21T18: 23: 13.525Z') для новых записей сценария миграции, не поддерживается моей версией MS Sql Server (Microsoft SQL Server Express Edition с расширенными службами (64- немного)). Это ошибка? Есть ли работа?EF 4.3.1 Миграции - преобразование не удалось при преобразовании даты и/или времени из символьной строки
CREATE TABLE [__MigrationHistory] (
[MigrationId] [nvarchar](255) NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[Model] [varbinary](max) NOT NULL,
[ProductVersion] [nvarchar](32) NOT NULL,
CONSTRAINT [PK___MigrationHistory] PRIMARY KEY ([MigrationId])
)
BEGIN TRY
EXEC sp_MS_marksystemobject '__MigrationHistory'
END TRY
BEGIN CATCH
END CATCH
INSERT INTO [__MigrationHistory] ([MigrationId], [CreatedOn], [Model], [ProductVersion])
VALUES ('144184_init', '2012-03-21T18:23:13.525Z', 0x33, '4.3.1');
EDIT
Nevermind. Это не имеет ничего общего с EntityFramework. Если моя база данных SQL Server настроена на обратную совместимость с SQL Server 2000, она не примет формат даты. Я предполагаю, что если я не смогу получить EF для вывода строки даты в другом формате (или заставить SQL Server обойтись совместимо с 2000 годом и все еще понимать строку даты EF), я не смогу использовать EF-миграции с моей базой данных: . - (Пожалуйста, дайте мне знать, если кто-то разработал способ использовать EF с базой данных с уровнем совместимости SQL Server 2000.
Я думаю, что EF официально не поддерживает SQL Server 2000 и его уровень совместимости на всех, так что вариант переноса базы данных на новую поддерживаемую версию. –
Да, сохранение режима совместимости в нижней версии не позволяет базе данных использовать более новые функции экземпляра SQL-сервера. К счастью, я убедил IT переключить режим совместимости на SQL Server 2008 (база данных уже перенесена на SQL Server 2008) – enamrik