我想使用FileHelpers加载文件(就像它已经除了这一个问题:P) 我必须将CSV文件数据保存到数据库,所以我使用SqlDecimal数据类型来存储CSV文件的十进制值。如何在FileHelper类中处理SQLDecimal数据类型的空值
[FileHelpers.FieldOptional()]
[FileHelpers.FieldConverter(typeof(SqlDecimalConverter))]
public SqlDecimal Rate;
所有这些工作正常,直到我有一个空白的FixRate1值。这被标记为一个错误。
“警告异常:空值发现 在类 ‘SWTrade’你必须指定一个 FieldNullValueAttribute因为这 是值类型和不可阻挡的为空场‘费率’。”
我试着把[FileHelpers.FieldNullValue(SqlDecimal.Null)],但它显然会引发错误。
的属性参数必须是 常量表达式的typeof一个 属性参数类型
的表达 或数组创建表达式即使我重写FieldToString方法在SqlDecimalConverter类,读取数据时不调用该函数。
那么,有没有一种方法可以将任何空值或甚至一些其他硬编码值赋给Rate数据,然后我可以用我自己的逻辑中的null direclty替换它?
请让我知道你是否需要更多的细节。 在此先感谢。
不,他提到他试过SqlDecimal.Null这不是一个常量表达式。 – Sapph 2010-01-06 05:53:47
@Sapph:对不起,我的坏 - 我没有仔细阅读这个问题(和你的回答)。 – 2010-01-06 06:06:07