C# 如何为一组属性指定映射规则

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

我有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 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();