public Application_CityQuery <Application_SystemParameterQuery <K, T>, T> JoinPostalCity(JoinType joinType = JoinType.Inner, bool preloadEntities = false) { var joinedQuery = new Application_CityQuery <Application_SystemParameterQuery <K, T>, T>(Db); return(Join(joinedQuery, string.Concat(joinType.GetJoinString(), " [Application].[Cities] AS {1} {0} ON", "{2}.[PostalCityID] = {1}.[CityID]"), o => ((Application_SystemParameter)o)?.PostalCity, (e, fv, ppe) => { var child = (Application_City)ppe(QueryHelpers.Fill <Application_City>(null, fv)); if (e != null) { ((Application_SystemParameter)e).PostalCity = child; } return child; } , typeof(Application_City), preloadEntities)); }
public Application_CityQuery <Application_StateProvinceQuery <K, T>, T> JoinApplication_Cities(JoinType joinType = JoinType.Inner, bool attach = false) { var joinedQuery = new Application_CityQuery <Application_StateProvinceQuery <K, T>, T>(Db); return(JoinSet(() => new Application_CityTableQuery <Application_City>(Db), joinedQuery, string.Concat(joinType.GetJoinString(), " [Application].[Cities] AS {1} {0} ON", "{2}.[StateProvinceID] = {1}.[StateProvinceID]"), (p, ids) => ((Application_CityWrapper)p).Id.In(ids.Select(id => (System.Int32)id)), (o, v) => ((Application_StateProvince)o).Application_Cities.Attach(v.Cast <Application_City>()), p => (long)((Application_City)p).StateProvinceID, attach)); }