在我们日常工作中,总会遇到一个查询功能需要对首次查询结果进行二次甚至是多次处理才能得到最终需要的数据的情况。先不谈如何避免这种情况,这里只说一下出现这种情况的处理办法。
假设存在以下场景:存在订单表OrderInfo和订单扩展表OrderInfoExtend,因为某种特殊原因,不能够在一次SQL查询将两个表进行关联查询,需要先查询OrderInfo,然后根据Id查询OrderInfoExtend表的数据,最后再组装成需要的数据,那么大概会有以下代码:
1 var listOrderInfo=Query("OrderInfo"); 2 3 foreach(var item in listOrderInfo) 4 5 { 6 var extendModel=QueryOrderInfoExtendForId(item.Id); 7 item.ExtendInfo=extendModel?.ExtendInfo; 8 }