[英]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.