私は 2 つのクラスを持っています。1 つは Entity Framework による生成で、もう 1 つはどこでも使用するクラスです。
私のクラス :
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
EF クラス :
public class PERSON
{
public string FIRST_NAME { get; set; }
public string LAST_NAME { get; set; }
}
ソースがPERSON
toPerson
の場合の解決策を見つけましたが、 toの解決策が見つかりません(プロパティは大文字とアンダースコア区切りです)。Person
PERSON
The solution for PERSON to Person :
Mapper.Initialize(x => x.AddProfile<Profile1>());
var res = Mapper.Map<PERSON, Person>(person);
public class UpperUnderscoreNamingConvention : INamingConvention
{
private readonly Regex _splittingExpression = new Regex(@"[p{Lu}0-9]+(?=_?)");
public Regex SplittingExpression
{
get { return _splittingExpression; }
}
public string SeparatorCharacter
{
get { return "_"; }
}
}
public class Profile1 : Profile
{
protected override void Configure()
{
SourceMemberNamingConvention = new UpperUnderscoreNamingConvention();
DestinationMemberNamingConvention = new PascalCaseNamingConvention();
CreateMap<PERSON, Person>();
}
}