Définissez la propriété de modèle sur boolean dans Entity Framework
Je suis juste de commencer à apprendre un peu sur l'entity framework et n'ont pas beaucoup d'expérience avec les ORM.
Dans mon application j'ai une table, cette table sql server dispose de plusieurs colonnes, y compris un PrimaryKey (int) un Nom (chaîne de caractères) et d'un Indicateur (tinyint).
Lorsque j'ai importé cette table en affecter automatiquement les Drapeaux type de données octet. C'est très bien, mais le Drapeau doit vraiment être un booléen, donc je
- Cliqué sur la Cartographie des Détails
- Choisi mon Drapeau propriété
- Changé le Type à partir de l'Octet de type Boolean
- Reconstruit l'application
Puis j'ai cette erreur:
Erreur 2019: Membre de la Cartographie spécifié
n'est pas valide. Le type
'Edm.Boolean[Nullable=True,DefaultValue=]'
de membre "MyFlag" dans le type de
'Monmodèle.MyItem " n'est pas compatible
avec
"SqlServer.tinyint[Nullable=True,DefaultValue=]'
de membre "MyFlag" dans le type de
'Monmodèle.Magasin.MyItem'.
Est-il un moyen d'avoir
MyItem item = new MyItem();
item.Flag = true;
et ont Drapeau enregistrer à 1 dans la base de données?
source d'informationauteur Nathan Koop
Vous devez vous connecter pour publier un commentaire.
Vous pouvez changer le type de données de
MyFlag
àbit
dans la base de données.Je pense que pour la
tinyint
vous aurez à faire une classe partielle et l'utilisation d'un champ distinct que de façon appropriée de lecture/écriture de ce champ. Cependant, le cadre sera en mesure d'interpréter correctementbit
champsboolean
.Vous pouvez essayer quelque chose comme ci-dessous à titre partiel..