2011-06-30 1 views
0

J'ai une classe Entity ayant une propriété de type Int32: lors de la génération de DDL en utilisant DevArt pour ORACLE, une colonne NUMBER (10) est générée. Lire et écrire des instances fonctionne parfaitement. Toutefois, lors de l'extraction d'instances de cette classe Entity envoyant une requête personnalisée à ExecuteStoreQuery sur ObjectContext, cette propriété semble renvoyée sous la forme System.Double, ce qui entraîne la défaillance des instances. Puis-je indiquer DevArt pour construire System.Int32?Entity Framework, Oracle, DevArt, Contexte # ExecuteStoreQuery: System.Int32 construit comme System.Double?

Merci. Bart

Répondre

0

La raison est le fait que OracleDataReader, qui est utilisé dans la méthode ExecuteStoreQuery, a un mappage de type différent de celui utilisé dans le fournisseur Entity Framework.
Je vous recommande d'utiliser NumberMappings, je suppose que vous aurez besoin de mapper Number (10) à Int32: Number Mappings=((NUMBER,10,10,System.Int32). Ces modifications doivent être conservées dans la chaîne de connexion du modèle (elles dupliquent les règles de mappage EF par défaut, elles sont nécessaires pour OracleDataReader à partir de ExecuteStoreQuery). S'il vous plaît laissez-nous savoir si le problème persiste.

Questions connexes