C# AutoMapper-当源属性不可用时,将目标属性设置为null
我有以下两个对象- 公共类客户 { 公共客户字符串用户名,字符串电子邮件 { this.UserName=用户名; this.Email=电子邮件; } 公共字符串用户名{get;} 公共字符串电子邮件{get;set;} } 公共类CustomerUpdate { 公共字符串电子邮件{get;set;} } 我不想在Customer中添加构造函数来仅初始化电子邮件。我是否可以创建从CustomerUpdate到Customer的映射,以便用户名设置为nullC# AutoMapper-当源属性不可用时,将目标属性设置为null,c#,asp.net-core,automapper,C#,Asp.net Core,Automapper,我有以下两个对象- 公共类客户 { 公共客户字符串用户名,字符串电子邮件 { this.UserName=用户名; this.Email=电子邮件; } 公共字符串用户名{get;} 公共字符串电子邮件{get;set;} } 公共类CustomerUpdate { 公共字符串电子邮件{get;set;} } 我不想在Customer中添加构造函数来仅初始化电子邮件。我是否可以创建从CustomerUpdate到Customer的映射,以便用户名设置为null 我使用的是AutoMapper 9
我使用的是AutoMapper 9.0.0,您可以创建一个映射并明确说明要使用的构造函数
CreateMap<CustomerUpdate, Customer>()
.ConstructUsing(s => new Customer(null, s.Email))
有关更多详细信息,请查看此答案
这篇文章可能会有所帮助you@KrishnaMuppalla,谢谢,但是不行。它使客户需要一个具有0个参数或仅可选参数的构造函数。参数“type”,我不想让构造函数具有0个参数。@BrightHammer,谢谢你的建议。这实际上现在就可以了。@atiyar很遗憾,我在评论中提供的答案也需要一个无参数构造函数。检查我下面的答案,找到一个不需要的方法。谢谢,我不知道如何使用。你有打字错误;