如何摆脱'属性不能设置为双精度值,您必须将此属性设置为decimal'类型的非空值
本文关键字:设置 属性 decimal 类型 空值 不能 何摆脱 双精度 | 更新日期: 2023-09-27 18:03:50
我试图让一个函数导入正确工作。EF调用我的存储过程,但是结果有一个我不理解的内部异常:
var result = context.SomeFunctionImport();
我:
someeclass的'Cnt'属性不能设置为'Double'价值。必须将此属性设置为类型的非空值"小数"。
这是SomeClass
上的Cnt
属性:
[DataMember]
public Nullable<decimal> Cnt
{
get { return _cnt; }
set
{
if (_cnt != value)
{
OnComplexPropertyChanging();
_cnt = value;
OnPropertyChanged("Cnt");
}
}
}
private Nullable<decimal> _cnt;
您需要这样定义它:public decimal Cnt
找到问题。我的存储过程在舍入操作后缺少对Cnt的强制转换。
我认为这个字段是浮动类型在您的数据库表。所以你要把它设成两倍?如果此字段可为空或使用双
public double? field_name {get; set}
// or
public double field_name {get; set}
我有这个问题,我的问题是,在DB上,类型是真实的,在EF类被声明为十进制。我只是把DB类型改为real,问题就解决了。