C# 使用mapper(automapper)而不是linqmap函数有什么好处

C# 使用mapper(automapper)而不是linqmap函数有什么好处,c#,asp.net-mvc,entity-framework-5,automapper,C#,Asp.net Mvc,Entity Framework 5,Automapper,你可能会发现这个问题很愚蠢。但它可以帮助其他在大脑中提出这个问题的人 在linq查询映射函数上使用一些通用映射器(AutoMapper)有什么好处 例如: 使用映射器与linq映射 使用Linq映射函数: var peopleList = _dbContext.People.Select(x => new PersonModel() { Field1 = x.Field......}); 使用通用映射器(例如:自动映射

你可能会发现这个问题很愚蠢。但它可以帮助其他在大脑中提出这个问题的人

在linq查询映射函数上使用一些通用映射器(AutoMapper)有什么好处

例如: 使用映射器与linq映射

使用Linq映射函数:

var peopleList = _dbContext.People.Select(x => new PersonModel()
                                   { Field1 = x.Field......});
使用通用映射器(例如:自动映射器)

var peopleList=_dbContext.People.ToList();
var personList=Mapper.Map(peopleList);
在这种情况下:

var peopleList = _dbContext.People.Select(x => new PersonModel()
                                   { Field1 = x.Field......});
您需要按字段指定映射字段

在这种情况下:

var peopleList = _dbContext.People.ToList();
var personList = Mapper.Map<IEnumerable<PersonModel>>(peopleList);
var peopleList=_dbContext.People.ToList();
var personList=Mapper.Map(peopleList);
将自动映射具有相同名称的所有特性。更重要的是,在后一种情况下,您可以只指定一次映射规则(全局),然后在整个应用程序中使用它

var peopleList = _dbContext.People.ToList();
var personList = Mapper.Map<IEnumerable<PersonModel>>(peopleList);