Lambda表达式 JOIN 多参数写法

            List<T_TRA_OrderOptHIstory> result = new List<T_TRA_OrderOptHIstory>();

            var statusSet = GetOrderStatusList().Where(o => o.InsideCode == state && o.StatusType == 10);
            List<T_TRA_OrderOptHIstory> optSet = GetOrderOptList();
            List<T_TRA_Order> orderSet = GetOrderList();
            result = optSet.Join(orderSet, OH => OH.OrderID, O => O.OrderID, (OH, O) => new { OH, O })
                .Join(
                    statusSet,
                    OHO => new { ActionMode = OHO.O.ActionMode, OrderStatus = OHO.OH.OrderStatus.ToInt() },
                    OSC => new { ActionMode = OSC.ActionMode, OrderStatus = OSC.StastusCode },
                    (OHO, OSC) => OHO.OH
                ).ToList();

 

posted @ 2015-11-11 14:31  风飞萧雪  阅读(4685)  评论(1编辑  收藏  举报