如何将棱镜特性映射到CsvHepler的类?

时间:2019-06-27 06:10:50

标签: c# wpf csvhelper

我使用的库是CSVHelper。 而且我想将csv映射到我的班级。

我尝试了这段代码。 但是记录没有分类。

using (var streamReader = new StreamReader(MY_FILE_PATH))
using (var csv = new CsvReader(streamReader))
{
    csv.Configuration.HasHeaderRecord = true;
    csv.Configuration.RegisterClassMap<MyClassMapper>();
    var records = csv.GetRecords<MyClassMapper>();
}


public class MyClassMapper : CsvHelper.Configuration.ClassMap<MyClass>
{
    public MyClassMapper()
    {
        Map(x => x.Column1).Index(0);
        Map(x => x.Column2).Index(1);
        Map(x => x.Column3).Index(2);
        Map(x => x.Column4).Index(3);
        Map(x => x.Column5).Index(4);
        Map(x => x.Column6).Index(5);
        Map(x => x.Column7).Index(6);
        Map(x => x.Column8).Index(7);
        Map(x => x.Column9).Index(8);
    }
}

这是MyClass代码。 我使用棱镜库。 我要映射到属性。

public class MyClass {
    private int column1;
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Column1
    {
    get { return column1; }
    set { this.SetProperty(ref column1, value); }
    }

    //More Properties...

    private int column9;
    public int Column9
    {
    get { return column2; }
    set { this.SetProperty(ref column2, value); }
    }
}

0 个答案:

没有答案