比如有如下源,gender 如果是1的话就映射到男,2的话就映射到女。
public class Source { public int gender { get; set; } }
目标
public class Destination { private string gender { get; set; } }
这个怎么映射 ,在 网上找的教程貌似很少以前版本的automapper可以。7.0的就不行了。。有没有大神可以帮忙。
参考:http://docs.automapper.org/en/stable/Custom-value-resolvers.html
public class CustomResolver : IValueResolver<Order, OrderDto, string>
{
public string Resolve(Order source, OrderDto destination, string destMember, ResolutionContext context)
{
if (source.Gender==1)
{
return "男";
}
else
{
return "女";
}
}
}
这样就可以实现了自定义映射逻辑了。
好的。谢谢大神!!!
再提个小问题啦。。如果源中有一个字段:gender(int)
目标类中有两个字段:gender(string)和color(string)。
如果源gender=1的时候,目标gender为【男】,color为【red】
如果源gender!=1的时候,目标gender为【女】,color为【blue】。。
这个 怎么写呢。
@暖暖De幸福: 你再写个 ForMember 就好了,
就是 gender 一个,color 一个
好的。谢谢
你目前是怎么映射的?出现了什么错误?
– dudu 6年前