使用AutoMapper,可以直接先写一个公用方法
/// <summary>
/// 对象到对象转换
/// </summary>
/// <typeparam name="T">待转换类型</typeparam>
/// <param name="source">源类型</param>
/// <returns>转换结果</returns>
public static T MapTo<T>(this object source)
{
if (source == null)
{
return default(T);
}
Mapper.Initialize(cfg => cfg.CreateMap(source.GetType(), typeof(T)));
return Mapper.Map<T>(source);
}
这种情况下,第一次运行正常,但是之后会出现以下异常:
因此我们需要判断对应的对象转换是否已经存在:如下图所示: