Malheureusement, enums
ne sont pas pris en charge nativement sur EF 4.1. Voici une plutôt célèbre article sur la façon de traiter avec eux: Truquer les énumérations sur EF 4. Il ne, cependant, besoin d'un wrapper.
Il y a une façon simple de cartographier des enums en EF 4 toutefois: il suffit de créer un int propriété sur votre classe pour représenter l'int valeur de l'enum. C'est la propriété que l'EF devrait la carte, puis une "mini-wrapper" de la propriété pour vous permettre d'utiliser l'enum.
public class Appointment
{
public int ID { get; set; }
public string Description { get; set; }
// This property will be mapped
public int DayOfWeekValue { get; set; }
public DayOfWeek Day
{
get { return (DayOfWeek) DayOfWeekValue; }
set { DayOfWeekValue = (int) value; }
}
}
public enum DayOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Sur la génération de la base de données, EF seront heureux de vous ignorer tout type elle ne sait pas comment la carte, mais l'int de la propriété sera mappé.
Note: Ceci est pris directement à partir de ma réponse à l'autre enum
et EF
question: EF de Code 4.1 Première carte enum enveloppe de type complexe