У меня 15 таблиц, связанных между собой стандартными ссылками. Поэтому, когда я загружаю основную таблицу «Школа» с помощью LINQ, я могу включить все ссылки в этот объект сущности (Школы -> Классы -> Учащиеся; Школы -> Предметы и т. Д.)
Проблема заключается в том, чтозапрос linq со всеми значениями включает в себя генерирует 2 800 строк длиной, что занимает около 5 минут. Я могу написать свой собственный SQL-запрос, который завершается за 10 секунд.
Я хочу сделать что-то подобное (скопировано из примера)
using (var ctx = new SchoolDBEntities())
{
var SchoolList = ctx.School
.SqlQuery("Select * from Schools")
.ToList<School>();
}
Но загрузить все 15 таблиц с данными из SQLзапрос, чтобы я мог сделать что-то вроде этого, например (с загрузкой всех ссылок на таблицы в одном объекте):
var mathClass = SchoolList.FirstOrDefault().Classes.Where(x => x.Name == "Math").FirstOrDefault();