Создание свойств BLOB-объектов с помощью Entity Framework 4? - PullRequest
6 голосов
/ 18 марта 2010

Я создаю приложение для модели EF4 с интерфейсом WPF. Одним из элементов управления в моем пользовательском интерфейсе является RichTextDocument, который выводит WPF FlowDocument. Я могу либо сериализовать FlowDocument в байтовый массив, либо извлечь его разметку XAML в виде строки. Я бы предпочел использовать двоичную сериализацию, если смогу. Вот мои вопросы:

  • Если я сериализую в байтовый массив, как мне указать свойство объекта в виде байтового массива в конструкторе EDM?

  • Если я извлекаю строку разметки XAML, могу ли я указать, что EDM Designer создает соответствующий столбец базы данных в виде столбца nvarchar(max)?

Что касается второго вопроса, я предполагаю, что всегда мог вручную отредактировать файл MyModel.edmx.sql , чтобы изменить тип данных с nvarchar(4000) на nvarchar(max) перед его выполнением, но я бы хотел чтобы узнать, можно ли это сделать в Designer.

Спасибо за вашу помощь.

Ответы [ 2 ]

14 голосов
/ 22 марта 2010

Наконец вернулся к этому. Оказывается, если бы это было более очевидным, я бы запнулся. EDM имеет тип Binary, который создает свойство типа byte[] в классе сущности. Хотя типы в EDM Designer обычно совпадают с именами типов CLR, это не всегда так, как показывает эта проблема.

0 голосов
/ 17 сентября 2012

Для nvarchar (max) укажите размер | maxlength? | как -1 значение. Как описано в одной из статей MSDN, значение размера -1 соответствует спецификатору размера MAX sl, насколько я помню ...

...