Я получаю сообщение об ошибке «Ошибка преобразования при преобразовании даты и / или времени из символьной строки», когда я пытаюсь установить версию моей базы данных с помощью миграции EF. Проблема заключается в том, что строка даты, созданная EF ('2012-03-21T18: 23: 13.525Z') для новых записей сценария миграции, не поддерживается моей версией MS Sql Server (Microsoft SQL Server Express Edition с расширенными службами (64- немного)). Это ошибка? Есть обходной путь?
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 ('201203210144184_init', '2012-03-21T18:23:13.525Z', 0x33, '4.3.1');
ИЗМЕНИТЬ
Неважно. Это не имеет ничего общего с EntityFramework. Если моя база данных SQL Server настроена на обратную совместимость с SQL Server 2000, она не будет принимать этот формат даты. Думаю, если я не смогу заставить EF выводить строку даты в другом формате (или заставить SQL Server иметь обратную совместимость с 2000 и по-прежнему понимать строку даты EF), я не смогу использовать миграции EF с моей базой данных: - (. Сообщите мне, если кто-то разработал способ использования EF с базой данных с уровнем совместимости SQL Server 2000.