Как отобразить int в enum с помощью EF - PullRequest
5 голосов
/ 15 января 2010

Есть ли способ сопоставить поле int в enum в EFv1? Спасибо! Я хочу, чтобы у моей сущности было поле enum, а не поле int.

Ответы [ 3 ]

6 голосов
/ 15 января 2010

Создайте два свойства. Один сопоставлен с EF, другой как обертка

[EdmScalarProperty]
public int EnumPropInteger {get;set}
public MyEnum EnumProp
{
    get { return (MyEnum) EnumPropInteger; }
    set { EnumPropInteger = (int)value; }
}

Не очень хороший способ, потому что у вас есть два открытых свойства, но есть способ.

2 голосов
/ 20 октября 2011

Это поддерживается новым выпуском: теперь поддерживается: http://blogs.msdn.com/b/adonet/archive/2011/06/30/announcing-the-microsoft-entity-framework-june-2011-ctp.aspx

0 голосов
/ 15 января 2010

Вы можете просто привести int к Enum следующим образом:

public enum TestEnum
{
Zero = 0,
One,
Two
}

TestEnum target = (TestEnum)1;

Цель должна содержать TestEnum.One;

Редактировать: Плохо, сначала неправильно истолковал. Вы хотите, чтобы карта соответствовала составу, верно? Не знаю сейчас, придется немного поэкспериментировать.

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