Existe-t-il un moyen de transformer un champ int en enum dans EFv1 ? Merci ! Je veux que mon entité ait un champ enum plutôt qu'un champ int.
Réponses
Trop de publicités?Créez deux propriétés. L'une est associée à EF, l'autre à un wrapper.
[EdmScalarProperty]
public int EnumPropInteger {get;set}
public MyEnum EnumProp
{
get { return (MyEnum) EnumPropInteger; }
set { EnumPropInteger = (int)value; }
}
Ce n'est pas un moyen agréable parce que vous avez deux propriétés publiques, mais c'est un moyen.
Il est supporté par la nouvelle version : Maintenant supporté : http://blogs.msdn.com/b/adonet/archive/2011/06/30/announcing-the-microsoft-entity-framework-june-2011-ctp.aspx
Vous pouvez simplement convertir l'int en Enum comme ceci :
public enum TestEnum
{
Zero = 0,
One,
Two
}
TestEnum target = (TestEnum)1;
La cible devrait alors contenir TestEnum.One ;
Edit : My bad, did not interpret properly at first. Vous voulez que la carte gère le casting pour vous, non ? Je ne le sais pas pour l'instant, il faudrait expérimenter un peu.