Использование Enums с Code First и Entity Framework 5

Просто пытаюсь подтвердить впечатление: кажется, что перечисления в EF5 + Code First поддерживаются только в том случае, если они объявлены в том же пространстве имен, что и классы, использующие их в качестве типов свойств.

Кто-нибудь может это подтвердить? В сети ничего не нашел по этому поводу...


person guidupuy    schedule 19.03.2012    source источник
comment
EF5 и Code First должны работать. Если они не дайте мне знать. Полное раскрытие — в этой области есть ошибка, но она относится к перечислениям, определенным в отдельной сборке — entityframework.codeplex .com/workitem/532   -  person Pawel    schedule 25.11.2012


Ответы (2)


Соответствующая ошибка, которая была исправлена ​​ранее. В примечаниях к выпуску 4.3 Beta 1 говорится:

Исправлена ​​ошибка для GetDatabaseValues. В более ранних версиях этот метод не работал, если ваши классы сущностей и контекст находились в разных пространствах имен. Теперь эта проблема исправлена, и для использования GetDatabaseValues ​​классы не обязательно должны находиться в одном пространстве имен.

Я предполагаю, что функция GetDatabaseValues все еще содержит ошибки для этого случая (но это всего лишь обоснованное предположение). Вы можете сообщить об этом здесь: Блог группы ADO.NET: доступна первая бета-версия EF5

person Teoman Soygul    schedule 20.03.2012

Мало того, что ваши перечисления должны находиться в том же пространстве имен, чтобы поддерживаться кодом EF5. Во-первых, они должны быть в том же файле класса, что и ваша модель POCO.

person Brian Ogden    schedule 16.01.2013
comment
Это неправильно. На этой неделе я играл с EF5 Code First, и моя основная модель имеет два свойства, которые являются перечислениями, оба в отдельных файлах. - person Nick; 15.02.2013