Нет, если только вы не загружаете (или не проектируете) отношения.
Когда вы загружаете this
, сам EF загружает все данные из таблицы , котораясодержит this
.Это не JOIN
в других таблицах.
Когда вы загружаете Parent
, данные, содержащие дочерние идентификаторы, находятся в другой таблице БД.Поэтому, если вы не скажете EF загрузить его, он не будет JOIN
в этой другой таблице.
Так что, если вы знаете, что вам понадобятся идентификаторы "child" при загрузке Parent
, вы можете стремитьсянагрузка:
var p = Context.Parents.Include("Children").Where(p => p.Id == id).First();
... или проект:
var q = from p in Context.Parents
where p.Id == id
select new
{
Parent = p,
ChildIds = from c in p.Children
select c.Id
};