在下面的示例中,我只是想让 Test_Person_Name.FirstName 映射到 TestPersonFlattened 中的某些东西(任何东西)。在这一点上,考虑到我已经投入其中的时间,我并不太关心目标属性名称是什么......我只是希望它能够工作。
public class Test_Person
{
public Test_Person_Name Test_Person_PublicName { get; set; }
}
public class Test_Person_Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class TestPersonFlattened
{
public string Test_Person_PublicNameFirstName { get; set; } // What do I call this property?
}
AutoMapper.Mapper.CreateMap<Test_Person, TestPersonFlattened>();
AutoMapper.Mapper.AssertConfigurationIsValid();
似乎 Test_Person_PublicNameFirstName 应该可以工作,但我在 AssertConfigurationIsValid() 上遇到异常。我还尝试过将 TestPersonPublicNameFirstName、Test_Person_PublicName_FirstName 作为目标属性名称。
重命名源属性名称是不利的,因为源库用于许多其他项目。此外, ForMember() 调用并不理想,但如果没有其他选择,我会这样做。