繁体   English   中英

使用AutoMapper的DTO映射

[英]DTO Mapping using AutoMapper

我有3个表tableA,tableB和tableC,其中tableB具有来自tableA的外键,而tableC具有来自tableB的外键,并且与tableD类似。

我有一个linq查询,我正在获取数据为:

var temp  = await dbContext.tableA.Include(p=>p.tableB.Select(q=>q.tableC).Select(s=>s.tableD)).ToListAsync();

我在这里获得适当的数据,但是当我将其映射到DTO时,如下所示:

{
List<DTOtableA> dtotest = new List<DTOTableA>();
//From DB
var list = _repo.GetData();

dtotest = list.Select(p=>Mapper.Map(p,new DTOTableA())).ToList();
}

即使DTOTableA在其类中引用了DTOTableB,并且DTOTableB也引用了DTOTableC,在dtoTest中仅填充了tableA的数据。

有什么解决办法吗?

我认为,您不需要映射器。 您可以这样使用:

List <DTOtableA> dtotest =等待dbContext.tableA.Include(p => p.tableB.Select(q => q.tableC).Select(s => s.tableD))。ToListAsync();

dtotest [0] .tableB.attributeOfTableB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM