Rya*_*ohn 5 c# csv automapper textfieldparser
我正在使用TextFieldParser解析CSV文件导入数据库EntityFramework.
TextFieldParser将CSV文件的每一行作为a返回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; }
}
Run Code Online (Sandbox Code Playgroud)
我的CSV行格式如下:
名字,中间名,姓氏,地址,******中国
Rya*_*ohn 13
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]));
Run Code Online (Sandbox Code Playgroud)
请记住,此映射取决于CSV文件中值的顺序.