【发布时间】:2021-07-06 15:31:46
【问题描述】:
我的数据模型由公共字段而不是属性组成。我热衷于使用 CSVHelper 的自动映射将这些字段写入 .csv 文件。这适用于属性 - 但字段似乎被排除在外。
当我提供 ClassMap 时,下面的代码可以正常工作 - 但这似乎不方便重新:长期维护。有没有办法让它像属性一样自动映射字段?
void Main()
{
var records = new List<Foo>
{
new Foo { Id = 1, Name = "one" },
};
using (var writer = new StreamWriter("path\\to\\file.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.Context.RegisterClassMap<FooMap>();
csv.WriteRecords(records);
}
}
public class Foo
{
public int Id;
public string Name;
}
public sealed class FooMap : ClassMap<Foo> {
public TechMap() {
AutoMap(CultureInfo.InvariantCulture);
// I'm very keen to avoid having to map
// every field that's to be exported.
Map(m => m.Id).Name("Id");
Map(m => m.Name).Name("Name");
}
}
【问题讨论】:
标签: csvhelper