我有EF EF生成的具有多個屬性的Person類。我也有一個類與幾個屬性的職業。一個人與多個工作有關,因此喬布斯是人的收集財產。使用AutoMapper將複雜視圖模型映射回具有集合屬性的模型
我創建了一個視圖模型爲這樣:
public class PersonViewModel
{
public Person Person{ get; set; }
public List<Job> Jobs{ get; set; }
}
從我的觀點,我張貼PersonViewModel的一個實例。我想使用AutoMapper將這個視圖模型映射回Person的一個實例,其Jobs集合屬性填充了視圖模型中的列表。
這可以完成嗎?到目前爲止,我曾嘗試:
Mapper.CreateMap<PersonViewModel, Person>();
,沒有運氣...
編輯:
OK,這樣做實際工作。我發現我在其他地方有一個問題...
我的Person對象也與PersonType表有一對多關係... PersonType成爲Person的導航屬性,並且自動映射器試圖映射此...這是它失敗的地方......我成功地傳遞了一個PersonTypeID來將Person與Person類型關聯起來。我認爲這將是我需要做的。我怎樣才能解決這個問題?
編輯2: 所以基本上在DB我的人表有一個PersonTypeID列(外鍵PersonType表)......這個被映射爲一個導航屬性人爲PersonType對象...
從我的形式來看,我有一個下拉列表,選擇其中通過PersonTypeID財產早在視圖模型中的人物對象的人類型...
automapper似乎正在尋找Person的PersonType nav屬性的值以映射...我得到一個AutoMapper.AutoMapperMappingException
錯誤
Destination property: PersonType
Exception of type 'AutoMapper.AutoMapperMappingException' was thrown.
你是正確的..我發現我的問題在別處。我編輯了我原來的問題...你會得到一個upvote指向我的正確道路...即時通過今天的投票,雖然:) – stephen776 2011-04-06 21:49:40
謝謝斯蒂芬。好的,你可以詳細解釋一下你的問題,也許增加一些代碼?我在編輯過程中遇到困難。 – Aliostad 2011-04-06 21:52:14
好吧加了一些。希望它有幫助 – stephen776 2011-04-06 21:57:02