簡體   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