CsvHelper: элемент с таким же ключом '' уже существует в ExpandoObject - PullRequest
0 голосов
/ 10 января 2019

С кодом, похожим на, я получаю исключение:

Элемент с тем же ключом '' уже существует в ExpandoObject

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

1 Ответ

0 голосов
/ 10 января 2019

Это просто из-за того, что CsvHelper по умолчанию использует заголовки столбцов в качестве имени свойств динамического объекта:

Важно убедиться, что csvReaderConfig.HasHeaderRecord = false; установлено, или использовать другую технику, такую ​​как сопоставление с классом.

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>();
}
...