5

私は 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; }
}

ソースがPERSONtoPersonの場合の解決策を見つけましたが、 toの解決策見つかりません(プロパティは大文字とアンダースコア区切りです)。PersonPERSON

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>();
    }
}
4

1 に答える 1