如何将十进制(c#)转换为间隔日到秒(oracle)?
我在Oracle 11g中有一个表:如何将十进制(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) | ----------------------
----------------------------------------
|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文件中的属性设置不正确。从数据库生成模型。我有这个