tob*_*ias 18 .net c# automapper c#-4.0 automapper-2
我下面有两个类,映射必须是这样的
public class Module
{
public int Id { get; set; }
public string Name { get; set; }
public string ImageName { get; set; }
public virtual ICollection<Page> Pages { get; set; }
}
public class ModuleUI
{
public int Id { get; set; }
public string Text { get; set; }
public string ImagePath { get; set; }
public List<PageUI> PageUIs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用Automapper执行此操作?
Id -> Id
Name -> Text
ImageName -> ImagePath
Pages -> PageUIs
Run Code Online (Sandbox Code Playgroud)
nem*_*esv 41
你可以使用ForMember和MapFrom(文档).
您的Mapper配置可能是:
Mapper.CreateMap<Module, ModuleUI>()
.ForMember(s => s.Text, c => c.MapFrom(m => m.Name))
.ForMember(s => s.ImagePath, c => c.MapFrom(m => m.ImageName))
.ForMember(s => s.PageUIs, c => c.MapFrom(m => m.Pages));
Mapper.CreateMap<Page, PageUI>();
Run Code Online (Sandbox Code Playgroud)
用法:
var dest = Mapper.Map<ModuleUI>(
new Module
{
Name = "sds",
Id = 2,
ImageName = "sds",
Pages = new List<Page>
{
new Page(),
new Page()
}
});
Run Code Online (Sandbox Code Playgroud)
结果:

| 归档时间: |
|
| 查看次数: |
19947 次 |
| 最近记录: |