2

我有以下类和接口定义,并且想使用 EmitMapper 而不是 AutoMapper 从类映射到接口。当前代码有效,但我想使用 EmitMapper,但还没有弄清楚如何使用它。

public interface  ITreeViewDTO
{
    int Id { get; set; }
    string Name { get; set; }
    int? Parent_Id { get; set; }
    string ExtraData { get; set; }
    IEnumerable<ITreeViewDTO> SubNode { get; set; }
}

public class Navigation
{
    public int Id { get; set; }
    public string Name{ get; set; }
    public int? Parent_Id { get; set; }
    public virtual IList<Navigation> SubNavigations { get; set; }
}

这是所需映射的当前 AutoMapper 配置:

Mapper.CreateMap<Navigation, ITreeViewDTO>()
   .ForMember(dest => dest.SubNode, 
              opt => opt.MapFrom<IEnumerable<Navigation>>(src => src.SubNavigations));
var iTreeView = Mapper.Map<Navigation, ITreeViewDTO>(root);

上述示例的等效 EmitMapper 代码是什么?

4

0 回答 0