0
我有以下类别:Automapper继承映射工厂
public class A{}
public class AA : A {public int aa{get;set;}}
public class AAA : A {public int aaa{get;set;}}
public class B{}
public class BB : B {public int bb{get;set;}}
public class BBB : B {public int bbb{get;set;}}
,这是我的映射:
Mapper.CreateMap<A,B>().include<AA,BB>().include<AAA,BBB>();
Mapper.CreateMap<AA,BB>();
Mapper.CreateMap<AAA,BBB>();
我是在假设automapper会明白hiearchy并绘制相应的派生类。但我无法用下面的代码得到它。映射的实体总是基类,在这种情况下 - B. 请注意我有一个存储库工厂,它将确定返回类型GetAll()
。
var list = myRepo.GetAll() //this returns IEnumerabe<AA> or IEnumerable<AAA>
var newlist = Mapper.Map<IEnumerable<B>>(list); //I wanted to use "B" here due to the fact I will have many inherited classes of B. I don't want to restrict to a specific child class of B.
我投票结束这个问题作为题外话,因为这只是一个是/否的问题。无论如何你必须验证答案,所以你最好不要问就马上试试。 –
好的。让我重新解释这个问题,然后因为我无法得到我想要的结果 – user1784014