Entity Framework 4.3. Код сначала не может создать Datetime2? - PullRequest
7 голосов
/ 27 февраля 2012

Моя модель базы данных настроена на использование формата datetime2 вместо просто datetime. Когда база данных генерируется, все столбцы даты имеют дату и время, а не дату и время2. Вот мой код конфигурации столбца;

Property(a => a.LastOpened)
    .HasColumnOrder(++index)
    .HasColumnType("datetime2")
    .HasPrecision(0)
    .IsRequired();

Я могу поклясться, что это работало в более ранней версии EF, такой как 4.1, но я не понимаю, почему это не работает сейчас. Я подключаюсь к SQL Server 2008 R2 ...

Любая помощь будет оценена!

Спасибо!

1 Ответ

8 голосов
/ 27 февраля 2012

Из блога команды ADO.NET :

Известные проблемы

[...]

  • В сгенерированных базах данных учитываются не все типы данных с жестко закодированными столбцами .Если вы используете аннотацию данных Column или метод HasColumnType Fluent API для жесткого кодирования типа данных столбца (например, xml, money и т. Д.), Этот тип данных не используется при создании базы данных.Мы включим исправление для этой проблемы в выпуск патча 4.3.1.

Обновление

Патч EF4.3.1 теперь доступен, EF4.3.1 и EF5 Beta 1 Доступно на NuGet

...