Поля 'workOrder' не существуют в CSV файле

У меня есть файл CSV с несколькими строками, и каждая строка имеет номер рабочего порядка в столбце под названием "W.O.No."

Вот что я делаю: Я создал класс с именем Job, с одним полем.

class Job
{
    public int workOrder { get; set; }
}

Затем я создал класс JobMap

class JobMap : CsvClassMap<Job>
{
    public override void CreateMap()
    {
        Map(m => m.workOrder).Name("W.O.No.");
    }
}

И, наконец, это мой основной код

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
var record = csv.GetRecords<Job>().ToList();

По какой-то причине я получаю сообщение об ошибке

Поля "workOrder" не существуют в файле CSV.

Что я здесь делаю неправильно?

Ответ 1

Кажется, что в коде отсутствует инициализация карты. Попробуйте добавить csv.Configuration.RegisterClassMap<JobMap>();

Этот код должен работать:

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
csv.Configuration.RegisterClassMap<JobMap>();
var record = csv.GetRecords<Job>().ToList();