如何使用automapper将两个实体映射到一个实体?

Doz*_*zer 2 automapper

我有三个实体.

public class Book
{
    public string Name {get;set;}
}
public class Author
{
    public string AuthorName {get;set;}
}

public class BookDTO
{
    public string Name {get;set;}
    public string AuthorName {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

如何映射BookAuthorBookDTO?以及如何映射BookDTOBookAuthor?我在我的解决方案中使用了automapper.

And*_*ker 5

您可以为每个创建映射:

Mapper.CreateMap<Book, BookDTO>();
Mapper.CreateMap<Author, BookDTO>();
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

Book b = new Book { Name = "Gulliver's Travels" };
Author a = new Author { AuthorName = "Jonathan Swift" };

var dto = Mapper.Map<Book, BookDTO>(b);

Mapper.Map<Author, BookDTO>(a, dto);
Run Code Online (Sandbox Code Playgroud)