1、安装nuget包
2、创建映射类
public static class MyMapper
{
/// <summary>
/// 实体映射
/// </summary>
static MyMapper()
{
InitMapper();
}
/// <summary>
/// 初始化映射
/// </summary>
private static void InitMapper()
{
TypeAdapterConfig<SysMenuVO, SysMenu>.NewConfig().TwoWays()
.Map(d => d.ID, p => p.ID)
.Map(d => d.MENU_NAME, p => p.MenuName)
.Map(d => d.MENU_NAME_EN, p => p.MenuNameEn)
.Map(d => d.PARENT_ID, p => p.ParentId)
.Map(d => d.SEQ, p => p.Seq)
.Map(d => d.URL, p => p.Url)
.Map(d => d.ICON, p => p.Icon);
}
/// <summary>
/// 单字段映射
/// </summary>
/// <typeparam name="o">源对象</typeparam>
/// <returns></returns>
public static T Adapt<T>(Object o)
{
return o.Adapt<T>();
}
/// <summary>
/// 列表映射
/// </summary>
/// <typeparam name="S">源类型</typeparam>
/// <typeparam name="T">目标类型</typeparam>
/// <param name="ss">源类型列表</param>
/// <returns></returns>
public static IEnumerable<T> Adapts<S, T>(IEnumerable<S> ss)
{
foreach (var x in ss)
{
yield return x.Adapt<T>();
}
}
}
3、使用
var vo = MyMapper.Adapt<SysMenuVO>(itemPO);
参考:https://www.cnblogs.com/qiqigou/p/13696669.html