c# - 实体框架的可空小数问题
问题描述
我将 EF 与 Oracle 一起使用,并且我有一个带有可为空浮点列的表。当我映射此表时,该列显示为 Nullable Decimal。
在这个表中,我插入了一行,在可为空的列中,我插入了这个数字:
0.0237786257912282
然后,我用 LINQ 调用表:
lList = db.EntTest.ToList();
这样做,Visual Studio 会抛出一个
System.InvalidCastException
如果我更新记录,删除号码,然后我再次调用列表,它会起作用。
有什么建议么?
解决方案
正如 StevePy 所说,使用
HasPrecision
Context.cs中的OnModelCreating函数有效,例如:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<EntTest>().Property(p => p.NUMBER).HasPrecision(15,30);
}
推荐阅读
- lua - FiveM Lua:AddReplaceTexture 是如何工作的
- c - C char 输入而不是 int 和 2 位 char 转换为 int
- java - 如何在jTable顶部显示最后添加的行
- robotframework - 机器人框架 SSHLibrary 0 参数预期两个
- python - 遍历文件时,如何将每个文件名附加到列表中?
- docker - 如何确保 docker 容器在重启后可以访问主机卷数据?
- javascript - || js 中的表达式预期错误 多变的
- java - Android Fragment参数包:当键存在时getString返回null
- java - 如何从 Json 数组中删除属性
- r - 如何使用 R 中的管道运算符找到数据框一列的平均值?