CsvHelper:ExpandoObject 中已存在具有相同键“”的元素

CsvHelper: An element with the same key '' already exists in the ExpandoObject

使用类似的代码,我收到异常:

An element with the same key '' already exists in the ExpandoObject

using (var reader = new StreamReader("SampleData.csv"))
using (var csv = new CsvReader(reader))
{
    var records = csv.GetRecords<dynamic>();
}

这仅仅是因为 CsvHelper 默认使用列 headers 作为动态 object 属性的名称:

重要的是确保 csvReaderConfig.HasHeaderRecord = false; 已设置或使用其他技术,例如映射到 class。

var csvReaderConfig = new Configuration();

csvReaderConfig.HasHeaderRecord = false;

using (var reader = new StreamReader("SampleData.csv"))
using (var csv = new CsvReader(reader, csvReaderConfig))
{
    var records = csv.GetRecords<dynamic>();
}