2016-06-21 1 views
1

Je Hava une table Oracle 11g:Comment puis-je convertir Decimal (C#) en INTERVAL DAY en SECOND (oracle)?

---------------------------------------- 
|Field | Type      | 
|myField | interval Day(0) to second(0)| 
|myField2| interval Day(0) to second(0)| 
|myField3| VARCHAR2(150 BYTE)   | 
---------------------------------------- 

Je cette cartographie dans Entity Framework 5

public class MyTable 
{ 
    public Decimal? MyField { get; set; } 
    public Decimal? MyField2 { get; set; } 
    public String MyField3 { get; set; } 
} 

class MyTableMap : EntityTypeConfiguration<MyTable> { 
    public MyTableMap() 
    { 
     ToTable("myTabla"); 
     Property(u => u.MyField).HasColumnName("myField"); 
     Property(u => u.MyField2).HasColumnName("myField2"); 
     Property(u => u.MyField3).HasColumnName("myField3"); 
    } 
} 

Alors, quand il a essayé de changer le champ "MyFiel y MyFiel2" me marquer l'erreur suivante : "Une erreur s'est produite lors de la mise à jour des entrées. Reportez-vous à l'exception interne pour plus de détails." et la innerException a nulle

quand je change le tout terrain « MyField3 » fonctionne très bien

quelqu'un sait que je fais mal ??

+0

myField = Jour intervalle (0) à la seconde (0); myField2 = intervalle Jour (0) à la seconde (0); Field3 = VARCHAR2 (150 BYTE) –

+0

Les types d'intervalle ne sont-ils pas mappés sur TimeSpan? http://docs.oracle.com/cd/E51173_01/win.122/e17732/featSafeType.htm#ODPNT429 – Mottor

+0

si je l'ai mis "TimeSpan?" obtenir une autre erreur Oracle Data Provider pour .NET ne prend pas en charge le temps –

Répondre

0

ce es la solution avec API Courant

class MyTableMap : EntityTypeConfiguration<MyTable> { 
    public MyTableMap() 
    { 
     ToTable("myTabla"); 
     Property(u => u.MyField).HasColumnName("myField").HasColumnType("INTERVAL DAY TO SECOND"); 
     Property(u => u.MyField2).HasColumnName("myField2").HasColumnType("INTERVAL DAY TO SECOND"); 
     Property(u => u.MyField3).HasColumnName("myField3"); 
    } 
}