Я использую CsvHelper
для создания файла CSV на основе List
, но я бы хотел избежать записи одного из значений. Согласно документации, я использовал CsvClassMap
, чтобы указать поле, которое я хочу игнорировать. Однако значение все еще записывается в файл.
Вот мой класс:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
}
Вот мой CsvClassMap
:
public sealed class PersonClassMap : CsvClassMap<Person>
{
public PersonClassMap()
{
Map(m => m.Id).Index(0).Name("Id");
Map(m => m.FirstName).Index(1).Name("First Name");
Map(m => m.LastName).Index(2).Name("Last Name");
Map(m => m.MiddleName).Ignore();
}
}
И это код, который я использую для генерации вывода:
var persons = new List<Person>
{
new Person {Id = 1, FirstName = "Randall", MiddleName = "Michael", LastName = "Perry"},
new Person {Id = 2, FirstName = "Marigold", MiddleName = "Joanne", LastName = "Mercibar"},
new Person {Id = 3, FirstName = "Sven", MiddleName = "Ergenfein", LastName = "Olafsson"}
};
using (var csvWriter = new CsvWriter(textWriter))
{
csvWriter.WriteRecords(persons);
textWriter.Flush();
}
Мой результат выглядит следующим образом:
Id,FirstName,MiddleName,LastName 1,Randall,Michael,Perry 2,Marigold,Joanne,Mercibar 3,Sven,Ergenfein,Olafsson
Как мне заставить его перестать писать MiddleName
?