我正在尝试使用 FileHelpers 加载文件(就像它已经除了这个问题:P)我必须将 CSV 文件数据保存到数据库中,因此我使用 SqlDecimal 数据类型来存储 CSV 文件的十进制值。
[FileHelpers.FieldOptional()]
[FileHelpers.FieldConverter(typeof(SqlDecimalConverter))]
public SqlDecimal Rate;
所有这一切都很好,直到我有一个 FixRate1 的空白值。这被标记为错误。
“警告异常:在类 'SWTrade' 中为字段 'Rate' 找到空值。您必须指定 FieldNullValueAttribute,因为这是一个 ValueType,不能为空。”
我尝试放置 [FileHelpers.FieldNullValue(SqlDecimal.Null)] 但它显然会引发错误。
属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式
即使我重写了SqlDecimalConverter类中的FieldToString方法,读取数据时也不会调用该函数。
那么,在这种情况下,有没有一种方法可以将任何空值甚至其他硬编码值分配给速率数据,然后我可以在自己的逻辑中将其替换为空值?
如果您需要更多详细信息,请告诉我。提前致谢。