我有以下类和接口定义,并且希望使用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代码是什么?