Почему моя карта записей перезаписывает другие поля в csvhelper?C#

Место общения программистов C#
Ответить
Anonymous
 Почему моя карта записей перезаписывает другие поля в csvhelper?

Сообщение Anonymous »

Я определил карту записей для преобразования списка строк в разные столбцы, но по какой-то причине поля «Результат» перезаписывают другие поля (Фамилия, Дата рождения и т. д.).
Если я закомментирую следующую строку
Map(m => m.Result).Index(1,150);

тогда выходные данные будут правильными, за исключением отсутствия результатов Result1, Result2 и т. д.
Количество результатов является переменным для каждой записи и достигает максимального значения при 150, поэтому я выбрал именно этот подход.
public class RecordMap : ClassMap
{
public RecordMap()
{
Map(m => m.CustomerReference);
Map(m => m.Forename);
Map(m => m.Surname);
Map(m => m.DOB);
Map(m => m.Timestamp);
Map(m => m.Score);
Map(m => m.Result).Index(1,150);
}
}

public class OutputRecord
{
public string CustomerReference { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public string DOB { get; set; }
public DateTime Timestamp { get; set; }
public string Score { get; set; }
public List Result { get; set; }
}

При таком коде все выходные данные перепутаны, поэтому заголовки столбцов не соответствуют правильным полям. Столбцы результатов также начинаются с позиции 3 выходного файла, а не в конце, как хотелось бы.
Кто-нибудь знает, почему это происходит и как этого избежать? Я хочу, чтобы список результатов был преобразован в один столбец для каждой записи.
Спасибо
Изменить: добавление кода для записи CSV по запросу
using (var writer = new StreamWriter(OutputLocation.Text))
using (var csv = new CsvWriter(writer))
{
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.RegisterClassMap();

csv.WriteRecords(outputRecords);
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... -csvhelper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»