public CachedSqlSelect<Photo> ChildPhotos(Q where, params KeyValuePair<object, OrderBy.OrderDirection>[] orderBy) { PhotoTableDef def = new PhotoTableDef(); TagPhotoTableDef def2 = new TagPhotoTableDef(); return new CachedSqlSelect<Photo>( new LinkedChildren<Photo> ( TablesEnum.Tag, this.K, TablesEnum.Photo, def.TableCacheKey, dr => { Photo newPhoto = new Photo(); newPhoto.Initialise(dr); return newPhoto; }, where, orderBy, TablesEnum.TagPhoto, def2.TableCacheKey ) ); }