Как интерпретируется тип enum с помощью EF Code First - PullRequest
8 голосов
/ 23 февраля 2012

Вот модель:

Public class Person
{
    [Key]
    Public int PersonId { get; set: }
    Public int Age { get; set; }
    Public ColorEnum FavoriteColor { get; set; }
}

Public Enum ColorEnum
{
    Red = 1,
    Green = 2,
    Blue = 3
}

Возможно ли для Entity Framework Code First использовать модель Person для создания соответствующей таблицы? А как насчет типа ColorEnum?

Спасибо

1 Ответ

11 голосов
/ 23 февраля 2012

EF 4.3 не поддерживает Enums. Но было объявлено, что поддержка Enum идет с EF 5 , которая должна выйти вместе с .NET 4.5. В настоящее время для обработки перечислений с помощью Code-First вы должны сделать что-то вроде следующего:

Public class Person
{
    [Key]
    Public int PersonId { get; set: }
    Public int Age { get; set; }

    public int FavoriteColorValue{ get; set;}
    [NotMapped]
    Public ColorEnum FavoriteColor 
    { 
        get{ return (ColorEnum)FavoriteColorValue; } 
        set{ FavoriteColorValue = (int)value; } 
    }
}

Public Enum ColorEnum
{
    Red = 1,
    Green = 2,
    Blue = 3
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...