有了MapperFactory,我们定义从TSource类对象向TDest类对象转换规则时,就可以直接使用
public class ViewUserModel
{
public string Id { get; set; }
public string YHM { get; set; }
public string MM { get; set; }
public string JS { get; set; }
public string XM { get; set; }
public string LX { get; set; }
public string ZT { get; set; }
public string DW { get; set; }
public static void RegisterMap()
{
MapperFactory.CreateOrRetrieveMap<Sys_User, ViewUserModel>()
.Add((a, b) => b.YHM = a.用户名)
.Add((a, b) => b.MM = a.密码)
.Add((a, b) => b.JS = a.角色)
.Add((a, b) => b.XM = a.姓名)
.Add((a, b) => b.LX = a.类型)
.Add((a, b) => b.ZT = a.状态)
.Add((a, b) => b.DW = a.单位);
MapperFactory.CreateOrRetrieveMap<ViewUserModel, Sys_User>()
.Add((a, b) => b.用户名 = a.YHM)
.Add((b, a) => a.密码 = b.MM)
.Add((b, a) => a.角色 = b.JS)
.Add((b, a) => a.姓名 = b.XM)
.Add((b, a) => a.类型 = b.LX)
.Add((b, a) => a.单位 = b.DW);
}
}
然后再需要转换时,直接使用
Sys_User usr;
.................................
var model = MapperFactory.MapTo<Sys_User, ViewUserModel>(usr);
也可以使用MapTo,完成一个类型的对象集合向另外一个类型的对象List的转换