我是automapper的新手,所以我可能會以錯誤的方式攻擊它。我正在開發一個mvc應用程序,我想使用automapper來映射我的域模型和我的視圖模型。我的觀點是讓IList呈現html頁面。automapper沒有按預期映射
這裏是我的控制器代碼 -
IList<viewModel> vm = Mapper.Map<IList<entity1, viewModel>(dataFromEntity1);
這裏是我的Automapper配置 -
protected override void Configure()
{
CreateMap<entity1, viewModel>();
}
這裏是我的ENTITY1
public class entity1
{
public virtual int id { get; set; }
public virtual string anything { get; set; }
public virtual Entity2 entity2 { get; set; }
}
這裏是ENTITY2 -
public class entity2
{
public virtual int id_2 { get; set; }
public virtual string everything { get; set; }
}
這裏是我的視圖模型 -
public class viewModel
{
public string anything { get; set; }
public string entity2everything { get; set; }
}
從通過CodePlex上的文檔閱讀,我以爲一切從ENTITY2映射會自動工作,但是當我運行測試AssertConfigurationIsValid,它entity2everything失敗。
我見過帖子here,顯示應該有一個entity2Dto對象映射到,但是這個綁定在哪裏?我必須將其添加到我的viewModel對象嗎?
我缺少映射的地方嗎?我無法弄清楚這應該如何工作。 感謝您的任何想法。
仍似乎沒有工作。我從測試失敗中得到的唯一消息是添加一個自定義的映射表達式,忽略或重命名entity1上的屬性 – czuroski 2011-02-25 13:17:22
我想我明白了。它可能與一個關係有關 - 嘗試自動映射和拼合一對多。我可能最終不得不使用自定義解析器。謝謝 – czuroski 2011-02-25 13:55:26