エンティティをDTOにマッピングするために、EmitMapperとEmitMapperサンプルのFlatteringConfigurationを使用しています。
問題は、ソース値がオブジェクトのプロパティである場合にNullReferenceExceptionが発生することです。これは、次のようになります。
public class User
{
public Guid Id { get; set; }
public Company Company { get; set; }
}
public class Company
{
public Guid Id { get; set; }
}
public class UserDTO
{
public Guid Id { get; set; }
public Guid CompanyId{ get; set; }
}
UserをUserDTOにマッピングしています:var mapper = ObjectMapperManager.DefaultInstance.GetMapper<User, UserDTO>(
new FlatteringConfig()
);
var dto = mapper.Map(new User());
EmitMapperがCompanyIdを取得しようとすると、CompanyオブジェクトIdプロパティのゲッターが呼び出されますが、nullです。
どんな助けでも大いに活用されるでしょう。