2017-03-29 3 views
1

Je travaille sur un projet de bibliothèque de classes .Net Core. J'utilise le core framework Devart pour connecter la base de données Oracle. J'utilise les méthodes de mappage d'oracle de devart au lien http://blog.devart.com/entity-framework-core-1-entity-framework-7-support.htmldevart oracle 9.3- cadre d'entité 7 (ou noyau 1) Le mappage ne reconnaît pas la décimale au studio visuel 2017

Je peux obtenir des données avec succès lorsque le type de colonnes de la table est une chaîne. Mais, si le type de colonnes de table est décimal, complier me donne erreur ci-dessous:

Severity Code Description Project File Line Suppression State 
Error CS0452 The type 'decimal?' must be a reference type in order to use it as parameter 'TEntity' in the generic type or method 'OraclePropertyBuilderExtensions.ForOracleHasColumnName<TEntity>(PropertyBuilder<TEntity>, string)'. 

ma fonction de mappage est:

private void MyTableMapping(ModelBuilder modelBuilder) 
     { 
      modelBuilder.Entity<MyTable>().ForOracleToTable(@"MyTable"); 
      modelBuilder.Entity<MyTable>().Property<string>(x => x.SIRKETID).ForOracleHasColumnName(@"SIRKET_ID").ForOracleHasColumnType(@"VARCHAR2").ValueGeneratedNever().HasMaxLength(2);//this line is ok 
      modelBuilder.Entity<MyTable>().Property<decimal>(x => x.ID).ForOracleHasColumnName(@"ID").ForOracleHasColumnType(@"NUMBER").IsRequired().ValueGeneratedOnAdd();//this line gives error 
     } 

Désolé pour mon faible anglais.

Répondre

0

Nous vous remercions de votre rapport. Nous avons reproduit le problème et vous informerons quand il sera corrigé.

Pour contourner ce problème, s'il vous plaît utiliser:

optionsBuilder.UseOracle("oracle_connection_string"); 
modelBuilder.Entity<MyTable>().Property<decimal>(x => x.ID).HasColumnName(@"ID").HasColumnType(@"NUMBER").IsRequired().ValueGeneratedOnAdd(); 
+0

Le bogue avec l'aide des méthodes ForOracleHasColumnName et ForOracleHasColumnType Modelbuilder avec les propriétés de type valeur dans EF de base est fixé: http://forums.devart.com/viewtopic .php? f = 1 & t = 35436. – Devart