我想将Parent映射到ParentMapped,Child应该映射到ChildMapped,但是ChildMapped的源也是Parent,因为ChildMapped的SomeFlag Property应该由Parent的SomeFlag Property来源。 类是这样的:如何使用AutoMapper将单个属性映射到集合的每个元素的属性?
public class Parent
{
public bool SomeFlag { get; set; }
public List<Child> Children { get; set; }
}
public class ParentMapped
{
public List<ChildMapped> Children { get; set; }
}
public class Child
{
}
public class ChildMapped
{
public bool SomeFlag { get; set; }
}
假设亲子类的结构不能被修改。我试着配置的映射是这样的:
Mapper.CreateMap<Parent, ParentMapped>();
Mapper.CreateMap<Child, ChildMapped>();
Mapper.CreateMap<Parent,ChildMapped>()
.ForMember(dest => dest.SomeFlag, opt => opt.MapFrom(src => src));
,做的映射通过调用像这样:
var instanceOfParent = new Parent();
var intanceOfParentMapped = mapper.Map<ParentMapped>(instanceOfParent);
但是这种解决方案不起作用。
这种映射甚至可以通过AutoMapper实现吗?
我看到OP不想修改任何内容,但是如果他这样做呢?修改了ChildMapped.SomeFlag后,如何将其写回数据库? –