Wel*_*ing 4 c# csv asp.net asp.net-mvc csvhelper
如果第一个字段小于 0,有没有办法映射到第二个字段?
例如,如果您要映射带有列foo
和的 csv 文件bar
:
Map(m => m.Price).Name("foo");
Run Code Online (Sandbox Code Playgroud)
如果该列foo
等于 0,我们是否可以映射Price
到该bar
列的值。
小智 5
您必须手动转换列,如下所示。
Map(x => x.Price)
.Name("foo")
.ConvertUsing(row =>
{
var fooValue = row.GetField<decimal>("foo");
if (fooValue == 0m)
{
return row.GetField<decimal>("bar");
}
return fooValue;
});
Run Code Online (Sandbox Code Playgroud)
也就是说,我认为您不应该使用 CsvHelper 来进行条件映射。理想情况下,您应该有一个 CSV 模型和另一个要映射到的模型的映射。然后使用将您的 CSV 模型映射到其他模型的代码。
归档时间: |
|
查看次数: |
1108 次 |
最近记录: |