【问题标题】:CSVHelper says no map existsCSVHelper 说不存在地图
【发布时间】:2014-10-22 21:53:28
【问题描述】:

我试图让 CSVHelper 读取一些文件,但它一直告诉我没有为我的自定义类映射任何属性。但是,当我使用调试器查看时,它肯定看起来 Map 在那里并且正确,所以我很困惑。

这里有一些代码。

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");
        }
    }
}

缺少什么?

【问题讨论】:

    标签: c# csv map mapping csvhelper


    【解决方案1】:

    问题出在我的 csv 文件中,而不是我的代码中。请忽略。如果您遇到类似问题,请务必检查您的文件。 :)

    【讨论】:

    • 请问您的问题是什么?我也被所有看起来非常真实和正确但它不会映射的东西所困扰!
    • 我也尝试过按索引映射,消除了拼写/间距问题。
    • 我指的是文件的 .xmlx 版本,而不是 .csv 文件,如果没有记错的话。很尴尬。
    • 我在映射到的类中有私有设置器!因此浪费了几个小时。
    猜你喜欢
    • 2016-08-13
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多