46 votes

Comment mapper une propriété char à l'aide de l'API couramment "code uniquement" Entity Framework 4.1?

J'ai un objet qui a une propriété char:

 public class Product
{
    public char Code
    {
        get;
        set;
    }
}
 

Entity Framework ne semble pas pouvoir mapper les caractères (ce champ est absent de la base de données lorsque je crée le schéma de base de données à partir de mes objets de modèle). Existe-t-il de toute façon que je peux mapper le caractère (par exemple à une chaîne) en utilisant l'API fluide? Je ne souhaite pas modifier les objets du modèle car ils font partie d'une bibliothèque partagée héritée.

74voto

Ladislav Mrnka Points 218632

Char n'est pas valide de type primitif pour entity framework = entity framework n'a pas carte il. Si vous cochez la CSDL de référence , vous verrez la liste des types valides (char n'est pas parmi eux).

La base de données char(1) est traduit string (SQL à la CSDL traduction). Char est décrit comme non-unicode chaîne de caractères de longueur fixe 1.

La seule laid option est la deuxième propriété mappée à l'aide de cordes et votre char non mappé propriété utilisera string[0] de cette propriété. C'est juste un autre exemple de la façon dont certains de type simple de cartographie ou de convertisseurs sont sacrément manquant dans les EF.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X