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