CSVHelper にいくつかのファイルを読み取らせようとしていますが、カスタム クラスにプロパティがマップされていないと何度も言われます。ただし、デバッガーで見ると、マップがそこにあり、正しいように見えるので、混乱しています。
ここにいくつかのコードがあります。
CsvReader csv = new CsvReader(new StreamReader(ms));
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.IsHeaderCaseSensitive = false;
csv.Configuration.SkipEmptyRecords = true;
csv.Configuration.TrimFields = true;
csv.Configuration.TrimHeaders = true;
csv.Configuration.WillThrowOnMissingField = false;
csv.Configuration.RegisterClassMap<SampleMap>();
readSamples = csv.GetRecords<Sample>().ToList(); //breaks here
これは、Sample および SampleMap クラスの切り詰められたバージョンです。
namespace Parser.Models
{
public class Sample
{
public string Number { get; set; }
public string Discussion { get; set; }
public string OrderNumber { get; set; }
}
public sealed class SampleMap : CsvClassMap<Sample>
{
public SampleMap()
{
Map(m => m.Discussion).Name("Cases::CaseDiscussion");
Map(m => m.OrderNumber).Name("Orders::OrderNumber");
}
}
}
何が欠けていますか?