Оболочки Enum и Entity Model - PullRequest
       28

Оболочки Enum и Entity Model

0 голосов
/ 18 марта 2011

Я создаю модель Entity, применяя подход Model first. Я хочу, чтобы некоторые из классов сущностей имели свойства типа EnumWrapper (http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake-enums-in-ef-4.aspx). Что мне нужно сделать для этого? Является ли добавление простых свойств типа int правильным способом? И после создания базы данных сущность объекты будут как-то настроены путем замены свойств int на соответствующие оболочки enum.

1 Ответ

0 голосов
/ 18 марта 2011

Нет, ваша сущность не должна содержать сложный тип, созданный для конкретной оболочки enum.Каждая оболочка перечисления будет содержать одно поле типа int (вы должны сделать уникальное имя поля для каждой оболочки).

Описанный в статье подход работает только в том случае, если вы создаете классы POCO вручную, потому что вы должны непосредственно изменять оболочки enum.Вы также можете, вероятно, заставить его работать, если вы измените шаблон T4.

Он не может использоваться с кодом объекта по умолчанию, сгенерированным пользовательским инструментом (код edmx позади файла), потому что нет способа изменить сгенерированные сложные типы(они будут перезаписываться при каждом прикосновении к EDMX).

...