C# 如何为一组属性指定映射规则
我有2个类,想要配置从一个到另一个的映射C# 如何为一组属性指定映射规则,c#,automapper,C#,Automapper,我有2个类,想要配置从一个到另一个的映射 public class Customer { public long CustomerId{get;set;} public string ShippingAddres{get;set;} public string BillingAddress{get;set;} public DateTime DateOfBirth {get;set;} } public class Item2 { public long cust
public class Customer
{
public long CustomerId{get;set;}
public string ShippingAddres{get;set;}
public string BillingAddress{get;set;}
public DateTime DateOfBirth {get;set;}
}
public class Item2
{
public long customer_id{get;set;}
public string shipping_addres{get;set;}
public string billing_address{get;set;}
public DateTime date_of_birth {get;set;}
}
我试图搜索答案,但我找到的所有答案都会手动映射字段:
.ForMember(dest => dest.CustomerId, opt => opt.MapFrom(src => src.customer_id));
我不想手动映射每个属性,因为我有很多属性。我想配置一些规则:
按“\”拆分属性名称并将字符串连接到CamelCase
或使用伪代码:
cfg.AddConditionalObjectMapper().Where((source, destination) => s.Name.Replace("(_)([a-z])","\U1") == d.Name );
问题不在于正则表达式,我需要知道如何在Auto mapper中配置此类规则?我找到了一种配置它的方法,但这种方法并不通用:
cfg.AddMemberConfiguration().AddName< ReplaceName >( _ => _.AddReplace( "_", "" ) );
cfg.AddMemberConfiguration().AddName< CaseInsensitiveName >();
cfg.AddMemberConfiguration().AddName(\u=>\ u0.AddReplace(“\u0”,”);
AddMemberConfiguration().AddName();
我找到了一种配置它的方法,但这种方法并不通用:
cfg.AddMemberConfiguration().AddName< ReplaceName >( _ => _.AddReplace( "_", "" ) );
cfg.AddMemberConfiguration().AddName< CaseInsensitiveName >();
cfg.AddMemberConfiguration().AddName(\u=>\ u0.AddReplace(“\u0”,”);
AddMemberConfiguration().AddName();