簡體   English   中英

使用AutoMapper將字符串數組映射到對象

[英]Use AutoMapper to map a string array to an object

我正在使用TextFieldParser解析CSV文件以使用EntityFramework導入數據庫。

TextFieldParser將CSV文件的每一行作為string[] 為了保存對象,我需要從每一行構建一個對象。 有沒有辦法使用AutoMapper來做到這一點?

我的對象結構是這樣的:

public class Person
{
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string Address { get; set; }
    public string PhoneNumber { get; set; }
}

我的CSV行格式如下:

名字,中間名,姓氏,地址,******中國

這可以通過以下方式在AutoMapper相當容易地完成:

Mapper.CreateMap<string[], Person>()
    .ForMember(p => p.FirstName, opts => opts.MapFrom(s => s[0]))
    .ForMember(p => p.MiddleName, opts => opts.MapFrom(s => s[1]))
    .ForMember(p => p.LastName, opts => opts.MapFrom(s => s[2]))
    .ForMember(p => p.Address, opts => opts.MapFrom(s => s[3]))
    .ForMember(p => p.PhoneNumber, opts => opts.MapFrom(s => s[4]));

請記住,此映射取決於CSV文件中值的順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM