我有一个来源类型
public class A
{
public List<string> MyList {get; set;}
}
和扩展了RealmObject
public class B: RealmObject
{
public IList<string> MyList {get;}
}
我需要使用自动映射器将A
转换为B
。但是,由于MyList
中的B
仅被获取,因此转换后它保持为空。据我了解,Realm在内部创建该列表的实例,我需要向其中添加项目(而不是分配新列表)。如何使用Automapper配置它?
答案 0 :(得分:1)
要使该任务成为可能,您需要使用UseDestinationvalue
来防止创建列表(如@Lucian Bargaoanu所建议),然后使用MapFrom
来映射值。
public class A
{
public List<string> MyList {get; set;}
}
public class B: RealmObject
{
public IList<string> MyList {get;}
}
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<A, B>()
.ForMember(dest => dest.MyList, opt =>
{
opt.UseDestinationValue();
opt.MapFrom(src => src.MyList);
});
}