我对自动查询 dto 的定义如下:
[Route("/project/{ProjectId}/contracts/{ContractId}/items")]
public class QueryContractItem : QueryDb<ContractItem, ContractItemResponse>,
ILeftJoin<ContractItem, ContractItemEstimateItem>,
ILeftJoin<ContractItemEstimateItem, EstimateItem>,
ILeftJoin<ContractItemEstimateItem, ContractItemEstimateItemComponent>,
ILeftJoin<EstimateItem, EstimateComponent>,
ILeftJoin<EstimateItem, EstimateGroup>
{
public int ProjectId { get; set; }
public int ContractId { get; set; }
}
public class ContractItemResponse
{
// ...
public int ContractItemEstimateItemId { get; set; } // WRONGLY taken from ContractItemEstimateItemComponent.ContractItemEstimateItemId - PROBLEM
public int ContractItemEstimateItemEstimateItemId { get; set; } //value is taken correctly from ContractItemEstimateItem - CORRECT
public int ContractItemEstimateItemContractItemId { get; set; } //value is taken correctly from ContractItemEstimateItem - CORRECT
}
不知道为什么在查询执行期间 ContractItemEstimateItemId 的值取自 ContractItemEstimateItemComponent.ContractItemEstimateItemId (该值尚不存在)。
预计查询将从中获取字段ContractItemEstimateItemId
值ContractItemEstimateItem.Id