实体框架的可为空的十进制问题

时间:2019-05-08 21:34:55

标签: c# entity-framework linq oracle11g

我将EF与Oracle一起使用,并且我有一个带有可空浮点列的表。 当我映射此表时,该列显示为可空十进制。

在此表中,我在可为空的列中插入了一行,并插入了以下数字:

0.0237786257912282

然后,我使用LINQ调用表:

lList = db.EntTest.ToList();

这样做,Visual Studio会抛出

  

System.InvalidCastException

如果我更新记录,删除号码,然后我再次呼叫列表,它将起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如StevePy所说,使用

HasPrecision 
Context.cs 中的 OnModelCreating 函数上运行

即可,例如:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<EntTest>().Property(p => p.NUMBER).HasPrecision(15,30);
}