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

时间:2012-08-17 00:43:17

标签: 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;}
}

如何将BookAuthor映射到BookDTO? 以及如何将BookDTO映射到BookAuthor? 我在我的解决方案中使用了自动播放器。

1 个答案:

答案 0 :(得分:5)

您可以为每个创建一个映射:

Mapper.CreateMap<Book, BookDTO>();
Mapper.CreateMap<Author, BookDTO>();

然后像这样使用它:

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);