2016-06-21 1 views
1

ich eine Tabelle in Oracle 11g hava:Wie kann ich Dezimal (C#) in INTERVAL DAY zu SECOND (Orakel) konvertieren?

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

Ich habe diese Zuordnung in 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"); 
    } 
} 

So, als er versuchte, das Feld "MyFiel y MyFiel2" markieren Sie mir folgende Fehler zu ändern : "Beim Aktualisieren der Einträge ist ein Fehler aufgetreten. Einzelheiten finden Sie in der inneren Ausnahme." und die innerexception hat null

wenn ich die „MyField3“ Feld funktioniert alles einwandfrei wechseln

jemand weiß, dass ich falsch mache ??

+0

myField = Intervall Tag (0) auf den zweiten (0); myField2 = Intervall Tag (0) bis Sekunde (0); Field3 = VARCHAR2 (150 BYTE) –

+0

Sind keine Intervalltypen zu TimeSpan zugeordnet? http://docs.oracle.com/cd/E51173_01/win.122/e17732/featSafeType.htm#ODPNT429 – Mottor

+0

wenn ich es "TimeSpan?" erhalten Sie einen anderen Fehler Oracle Data Provider für .NET unterstützt keine Zeit –

Antwort

0

Dies ES die Lösung mit fliessend API

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"); 
    } 
}