Roe*_*las 3 c# asp.net asp.net-mvc
下面的代码是我用来填充 Index.cshtml 中的表格的。属性列表有 1 行,地图模型后有 0 行。我错过了什么吗?我预计属性模型也会有 1 行。
// GET://
[HttpGet]
public IActionResult Index()
{
//get
List<Company.Model> list = repo.ReadAll();
//to map
List<Company.DTO> model;
//config for mapping
var config = new MapperConfiguration(cfg => cfg.CreateMap<List<Company.Model>, List<Company.DTO>>());
//create mappper
var mapper = config.CreateMapper();
//the map
model = mapper.Map<List<Company.DTO>>(list);
//return
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
当我做错事时请告诉我!我的第一篇 Automap 和 Stack Overflow 上的第一篇文章。谢谢!!
小智 5
将一个模型映射到另一个模型。Automapper 足够智能来映射集合:
var config = new MapperConfiguration(cfg => cfg.CreateMap<Company.Model, Company.DTO>());
Run Code Online (Sandbox Code Playgroud)
现在,您还没有告诉它如何将 a 映射Model到 a DTO!它只知道如何将 a 映射List<Model>到 a List<DTO>,这很棒,但它不知道如何映射集合中的每个单独元素!
现在它知道如何将模型映射到 dto,它还知道如何将一个集合映射到另一个集合:
model = mapper.Map<List<Company.DTO>>(list);
Run Code Online (Sandbox Code Playgroud)
每个集合类型是什么并不重要,只要它们都是集合即可。输入可以是一个数组,您可以将其映射到 a List<DTO>,没问题。正如我所说,Automapper 在集合方面非常智能。它只需要知道如何映射你的东西。
这意味着您不需要将事物集合映射到小部件集合。只需将内容映射到小部件,然后让 Automapper 完成其余的工作。这是一个努力的人:)
| 归档时间: |
|
| 查看次数: |
1691 次 |
| 最近记录: |