public Sales_OrderQuery <Sales_OrderQuery <K, T>, T> JoinBackorderOrder(JoinType joinType = JoinType.Inner, bool preloadEntities = false) { var joinedQuery = new Sales_OrderQuery <Sales_OrderQuery <K, T>, T>(Db); return(Join(joinedQuery, string.Concat(joinType.GetJoinString(), " [Sales].[Orders] AS {1} {0} ON", "{2}.[BackorderOrderID] = {1}.[OrderID]"), o => ((Sales_Order)o)?.BackorderOrder, (e, fv, ppe) => { var child = (Sales_Order)ppe(QueryHelpers.Fill <Sales_Order>(null, fv)); if (e != null) { ((Sales_Order)e).BackorderOrder = child; } return child; } , typeof(Sales_Order), preloadEntities)); }
public Sales_OrderQuery <Sales_OrderQuery <K, T>, T> JoinOrders(JoinType joinType = JoinType.Inner, bool attach = false) { var joinedQuery = new Sales_OrderQuery <Sales_OrderQuery <K, T>, T>(Db); return(JoinSet(() => new Sales_OrderTableQuery <Sales_Order>(Db), joinedQuery, string.Concat(joinType.GetJoinString(), " [Sales].[Orders] AS {1} {0} ON", "{2}.[OrderID] = {1}.[BackorderOrderID]"), (p, ids) => ((Sales_OrderWrapper)p).Id.In(ids.Select(id => (System.Int32)id)), (o, v) => ((Sales_Order)o).Orders.Attach(v.Cast <Sales_Order>()), p => (long)((Sales_Order)p).BackorderOrderID, attach)); }