簡體   English   中英

自動映射器未按預期映射

[英]automapper doesn't map as expected

我是Automapper的新手,所以我可能以錯誤的方式進行了攻擊。 我正在開發一個mvc應用程序,我想使用自動映射器在域模型和視圖模型之間進行映射。 我的觀點是采用IList呈現html頁面。

這是我的控制器的代碼-

IList<viewModel> vm = Mapper.Map<IList<entity1, viewModel>(dataFromEntity1);

這是我的Automapper配置-

 protected override void Configure()
 {
     CreateMap<entity1, viewModel>();
 }

這是我的實體1

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; }
}

這是我的viewModel-

public class viewModel
{
       public string anything { get; set; }
       public string entity2everything { get; set; }
}

通過閱讀Codeplex上的文檔,我假設從entity2進行的所有映射都可以自動工作,但是當我運行測試AssertConfigurationIsValid時,它對entity2everything失敗。

我在這里看到的帖子顯示應該有一個object2Dto對象要映射到,但是該鏈接在哪里? 我是否必須將其添加到我的viewModel對象中?

我在某處缺少映射嗎? 我不知道這應該如何工作。 感謝您的任何想法。

這個問題似乎與屬性名稱外殼!

如果將視圖模型屬性重命名為entity2Everything(而不是entity2everything),則它應該起作用。

有趣的Entity2Everything似乎也可以工作-我不確定這是設計使然還是AutoMapper代碼中的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM