AutoMapper is a. NET object mapping tool.
Project address: Https://github.com/AutoMapper/AutoMapper.
Help Document: Https://github.com/AutoMapper/AutoMapper/wiki
Main purpose
The transformation between the domain object and the DTO, and the database query results are mapped to the entity object.
Using notes
Scenario 1: Source type Blogentry, target type blogpostdto, specified attribute is mapped (blogentry.id corresponds to Blogpostdto.postid).
Code:
Automapper.mapper.createmap<blogentry, Blogpostdto> ()
. Formember (dto = dto). PostID, opt = opt. Mapfrom (entity = entity.id));
Scene 2:idatareader mapping to entity classes
Code:
using (IDataReader reader = _db. ExecuteReader (command))
{
if (reader. Read ())
{
return automapper.mapper.dynamicmap<blogconfig> (reader);
}
}
Scenario 3: Mapping between list types such as: source type list<blogsite>, Target type list<blogsitedto>
The code is as follows:
Automapper.mapper.createmap<blogsite, blogsitedto> ();
var blogsitedto = Automapper.mapper.map<list<blogsite>, list<blogsitedto>> (BlogSite);
Note: The mapping relationship between Blogsite and Blogsitedto must first be established through Createmap.
Scenario 4: Specify values for the properties of the target instance at map time
The code is as follows:
var blogsitedto = new Blogsitedto ();
Automapper.mapper.createmap<blogentry, Blogpostdto> ()
. Formember (dto = dto). Blogsitedto, opt = opt. Usevalue (blogsitedto));
Note: Blogsitedto is a property of Blogpostdto.
Add:
AutoMapper configuration (such as Automapper.mapper.createmap<blogsite, blogsitedto> ();) is recommended when the program starts, such as Global.asax application _start, BootStrapper.
AutoMapper using Notes