Подтвердить что ты не робот

Ошибка Entity Framework 4.3 beta [Column (TypeName)], не может создавать столбцы типа xml

Я понимаю, что это бета-версия (только что проверила новую версию 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.I также пытались использовать .HasDataType( ) метод без везения.

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

Итак, мои вопросы:

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

Ответ 1

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