2016-01-08 4 views
0

У меня 3 таблицы tableA, tableB и tableC, где tableB имеет внешний ключ из таблицыA , а tableC имеет внешний ключ из таблицыB и аналогично tableD.Картирование DTO с использованием AutoMapper

У меня есть Linq запрос, который я получаю данные в :

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

Я получаю надлежащего here.But данных, когда я карта это DTO как это:

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

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

Вот только данные таблицы А заполняются в dtoTest, хотя DTOTableA имеет ссылку на DTOTableB в своем классе, а также DTOTableB имеет ссылку на DTOTableC .

Любое решение для этого?

ответ

0

Я думаю, вам не нужен картограф. Вы можете использовать так:

Список < DTOtableA> dtotest = await dbContext.tableA.Include (p => p.tableB.Select (q => q.tableC) .Выберите (s => s.tableD)) .ToListAsync();

dtotest [0] .tableB.attributeOfTableB

Смежные вопросы