如何将十进制(c#)转换为间隔日到秒(oracle)?

如何将十进制(c#)转换为间隔日到秒(oracle)?,c#,oracle,asp.net-mvc-4,entity-framework-5,C#,Oracle,Asp.net Mvc 4,Entity Framework 5,我在Oracle 11g中有一个表: ---------------------------------------- |Field | Type | |myField | interval Day(0) to second(0)| |myField2| interval Day(0) to second(0)| |myField3| VARCHAR2(150 BYTE) | ----------------------

我在Oracle 11g中有一个表:

----------------------------------------
|Field   |  Type                        |
|myField |  interval Day(0) to second(0)|
|myField2|  interval Day(0) to second(0)|
|myField3|  VARCHAR2(150 BYTE)          |
----------------------------------------
我在实体框架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");
    }
}
公共类MyTable
{
公共十进制?MyField{get;set;}
公共十进制?MyField2{get;set;}
公共字符串MyField3{get;set;}
}
类MyTableMap:EntityTypeConfiguration{
公共MyTableMap()
{
ToTable(“myTabla”);
属性(u=>u.MyField);
属性(u=>u.MyField2).HasColumnName(“MyField2”);
属性(u=>u.MyField3)。HasColumnName(“MyField3”);
}
}
因此,当他试图更改字段“MyFiel y MyFiel2”时,请为我标记以下错误:“更新条目时发生错误。有关详细信息,请参阅内部异常。”并且内部异常为null

当我更改“MyField3”字段时,一切正常


有人知道我做错了???

这是使用Fluent 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");
    }
}
类MyTableMap:EntityTypeConfiguration{
公共MyTableMap()
{
ToTable(“myTabla”);
属性(u=>u.MyField).HasColumnName(“MyField”).HasColumnType(“间隔日到秒”);
属性(u=>u.MyField2).HasColumnName(“MyField2”).HasColumnType(“间隔日到秒”);
属性(u=>u.MyField3)。HasColumnName(“MyField3”);
}
}

这是一个使用Fluent 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");
    }
}
类MyTableMap:EntityTypeConfiguration{
公共MyTableMap()
{
ToTable(“myTabla”);
属性(u=>u.MyField).HasColumnName(“MyField”).HasColumnType(“间隔日到秒”);
属性(u=>u.MyField2).HasColumnName(“MyField2”).HasColumnType(“间隔日到秒”);
属性(u=>u.MyField3)。HasColumnName(“MyField3”);
}
}

myField=间隔日(0)到秒(0);myField2=间隔日(0)到秒(0);Field3=VARCHAR2(150字节)不是映射到TimeSpan的间隔类型吗?如果我将其设置为“TimeSpan?”获取其他错误Oracle Data Provider for.NET不支持时间这是查询更新“SISSEG”。“Seghario”设置“DOMINGOFIN”=:p0其中(“Idhario”=:p1)错误报告-SQL错误:ORA-00932:不一致的数据类型:已获取预期间隔天到第二个数字0000000932。-“不一致的数据类型:应为%s%s获得”我已使用DevArt对其进行了测试。它实际上是“十进制的”。可能是edml文件中的属性设置不正确。从数据库生成模型。我有一个myField=间隔日(0)到秒(0);myField2=间隔日(0)到秒(0);Field3=VARCHAR2(150字节)不是映射到TimeSpan的间隔类型吗?如果我将其设置为“TimeSpan?”获取其他错误Oracle Data Provider for.NET不支持时间这是查询更新“SISSEG”。“Seghario”设置“DOMINGOFIN”=:p0其中(“Idhario”=:p1)错误报告-SQL错误:ORA-00932:不一致的数据类型:已获取预期间隔天到第二个数字0000000932。-“不一致的数据类型:应为%s%s获得”我已使用DevArt对其进行了测试。它实际上是“十进制的”。可能是edml文件中的属性设置不正确。从数据库生成模型。我有这个