Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AutoMapper-当源属性不可用时,将目标属性设置为null_C#_Asp.net Core_Automapper - Fatal编程技术网

C# AutoMapper-当源属性不可用时,将目标属性设置为null

C# 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

我有以下两个对象-

公共类客户 { 公共客户字符串用户名,字符串电子邮件 { this.UserName=用户名; this.Email=电子邮件; } 公共字符串用户名{get;} 公共字符串电子邮件{get;set;} } 公共类CustomerUpdate { 公共字符串电子邮件{get;set;} } 我不想在Customer中添加构造函数来仅初始化电子邮件。我是否可以创建从CustomerUpdate到Customer的映射,以便用户名设置为null


我使用的是AutoMapper 9.0.0,您可以创建一个映射并明确说明要使用的构造函数

CreateMap<CustomerUpdate, Customer>()
.ConstructUsing(s => new Customer(null, s.Email))
有关更多详细信息,请查看此答案

这篇文章可能会有所帮助you@KrishnaMuppalla,谢谢,但是不行。它使客户需要一个具有0个参数或仅可选参数的构造函数。参数“type”,我不想让构造函数具有0个参数。@BrightHammer,谢谢你的建议。这实际上现在就可以了。@atiyar很遗憾,我在评论中提供的答案也需要一个无参数构造函数。检查我下面的答案,找到一个不需要的方法。谢谢,我不知道如何使用。你有打字错误;