gpt4 book ai didi

c# - 数值不适合 System.Decimal

转载 作者:行者123 更新时间:2023-11-29 12:26:02 25 4
gpt4 key购买 nike

我正在使用带有 Entity Framework 的 Postgres 数据库。

在我的数据库中有一个表,其中包含 price (numeric) 列和像 12314.0464314894136514658489431486146548

这样的值

当我使用 LINQ 查询获取数据时,它抛出一个错误:

An exception of type 'System.OverflowException' occurred in mscorlib.dll but was not handled in user code

Additional information: Numeric value does not fit in a System.Decimal

在我的模型类中,price 属性的数据类型为 decimal(19,4)

我在想,数据库表中的值具有更高的精度,而我的模型属性的精度较低,

所以我的问题是:有没有什么方法可以从数据库表中获取具有截断/舍入值的数据,这将适合我的模型属性?

注意:我被限制不能对数据库进行任何更改,所有我必须在我的 C# 代码中做的事情。

提前致谢

最佳答案

您可以在数据库级别四舍五入价格字段值。试试这个

var myRecords = model.Database
.SqlQuery<MyRecord>("select ..., cast(Price as numeric(19,4)) from mytable");

关于c# - 数值不适合 System.Decimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36617021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com