It gets generated across various classes and functions, but this code generates the columns and subqueries.
public static IQueryable<VideoListItem> QueryVideoListItem(IQueryable<Media> query, SearchSettings settings) { if (settings == null) settings = new SearchSettings(); var Result = (from v in query select new VideoListItem() { MediaId = v.MediaId, MediaType = (MediaType)v.MediaTypeId, Artist = v.Artist, Title = v.Title, Album = v.Album, MediaCategoryId = v.MediaCategoryId, FileName = v.FileName, Preference = v.Preference, Length = v.Length, HasDownloadUrl = (v.DownloadUrl != ""), BuyUrl = v.BuyUrl, PhysicalMasculine = (from r in v.MediaRatings where r.RatingCategory.Name == "Physical Masculine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), PhysicalFeminine = (from r in v.MediaRatings where r.RatingCategory.Name == "Physical Feminine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), EmotionalMasculine = (from r in v.MediaRatings where r.RatingCategory.Name == "Emotional Masculine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), EmotionalFeminine = (from r in v.MediaRatings where r.RatingCategory.Name == "Emotional Feminine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), SpiritualMasculine = (from r in v.MediaRatings where r.RatingCategory.Name == "Spiritual Masculine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), SpiritualFeminine = (from r in v.MediaRatings where r.RatingCategory.Name == "Spiritual Feminine" select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), //Love = (from r in v.MediaRatings // where r.RatingCategory.Name == "Love" // select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), //Egoless = (from r in v.MediaRatings // where r.RatingCategory.Name == "Egoless" // select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), //Custom = string.IsNullOrEmpty(settings.RatingCategory) ? null : // (from r in v.MediaRatings // where r.RatingCategory.Name == settings.RatingCategory && r.RatingCategory.Custom // select r.DbGetValue(r.Height, r.Depth, settings.RatingRatio)).FirstOrDefault(), IsInDatabase = true }); return Result; } Etienne