Проблема Entity Framework 4.3 beta [Column (TypeName)], не удается создать столбцы типа xml - PullRequest
13 голосов
/ 08 февраля 2012

Я понимаю, что это бета-версия (только что проверил новую версию EF 4.3 и она делает то же самое), и некоторые функции могут отсутствовать, но я не видел ничего, чтобы объяснить, почему ...

[Column(TypeName = "xml")]
public string SomeProperty { get; set; }

... больше не создает столбец типа xml при использовании EF 4.3 (столбец создается как nvarchar (max)), я пробовал EF 4.2, и это прекрасно создает столбец. Просто для справки я подключаюсь к SQL Server 2008r2, а также попробовал экспресс-издание. Я использую XML для хранения данных постоянно меняющихся схем данных, и, хотя я понимаю, что это будет передано в виде строки, мне нужна возможность создавать хранимые процедуры для данных XML в sql. Я также пытался использовать .HasDataType ( ) метод без удачи.

С другой стороны, я могу создать varchar и считаю, что nchar типов, но не ntext или text типов, используя тот же метод.

Так что на самом деле мои вопросы:

  1. Должен ли я иметь возможность создавать столбцы типа xml в EF 4.3?
  2. Почему я не могу?
  3. Есть ли верный способ / способ обойти это?

1 Ответ

3 голосов
/ 14 февраля 2012

Спасибо за отчет.Мы определили это как непреднамеренное критическое изменение в EF 4.3.Причина изменения заключается в том, что мы переключили генерацию DDL на использование нового механизма в Code First Migrations для баз данных SQL Server, а Code First Migrations в настоящее время не учитывает все возможные типы данных базы данных.Мы планируем включить исправление для этой проблемы в EF 4.3.1 через несколько недель.

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