Если у меня есть набор таблиц, TableA, TableB, TableC и TableD, где TableA имеет отношения один ко многим с TableB, TableC и TableD.
Иногда я хочу вернуть весь набор таблиц TableA, TableB, TableC и TableD. Иногда я хочу вернуть только Таблицу А.
На данный момент у меня есть следующее:
TableA tableA;
if (includeRelationships)
{
tableA = (from a in context.TableAs
.Include("TableBs")
.Include("TableCs")
.Include("TableDs")
where a.Id = myId
select a).SingleOrDefault();
}
else
{
tableA = (from a in context.TableAs
where a.Id = myId
select a).SingleOrDefault();
}
// do stuff with tableA
Это единственный способ сделать это?
РЕДАКТИРОВАТЬ - Уточнение после ответа feanz:
Это будет отображаться как служба WCF, поэтому это должен быть один вызов БД, либо всех таблиц, либо одного TableA, поэтому отложенная / отложенная загрузка не подходит.