C# 使用自动映射的DTO映射
我有3个表tableA、tableB和tableC,其中tableB有来自tableA的外键 tableC有一个来自tableB的外键,与tableD类似 我有一个linq查询,我得到的数据如下 : 我在这里得到了正确的数据。但当我将其映射到DTO时,如下所示:C# 使用自动映射的DTO映射,c#,.net,linq,c#-4.0,linq-to-entities,C#,.net,Linq,C# 4.0,Linq To Entities,我有3个表tableA、tableB和tableC,其中tableB有来自tableA的外键 tableC有一个来自tableB的外键,与tableD类似 我有一个linq查询,我得到的数据如下 : 我在这里得到了正确的数据。但当我将其映射到DTO时,如下所示: { List<DTOtableA> dtotest = new List<DTOTableA>(); //From DB var list = _repo.GetData(); dtotest = list.S
{
List<DTOtableA> dtotest = new List<DTOTableA>();
//From DB
var list = _repo.GetData();
dtotest = list.Select(p=>Mapper.Map(p,new DTOTableA())).ToList();
}
{
List dtotest=新列表();
//来自数据库
var list=_repo.GetData();
dtotest=list.Select(p=>Mapper.Map(p,newdtotablea()).ToList();
}
在这里,只有tableA的数据被填充到dtoTest中,即使DTOTableA在其类中引用了DTOTableB,并且DTOTableB也引用了DTOTableC
有什么解决办法吗?我想,您不需要mapper。您可以这样使用: List
{
List<DTOtableA> dtotest = new List<DTOTableA>();
//From DB
var list = _repo.GetData();
dtotest = list.Select(p=>Mapper.Map(p,new DTOTableA())).ToList();
}