Учитывая, что многоуровневый граф объектов вызывается с использованием Future as:
var Dads = db.Session.Query<Parent>().Where(P => P.EntityKey == Id)
.ToFuture<Parent>();
var Kids = db.Session.Query<Kid>().Where(K => K.Parent.EntityKey == Id)
.ToFuture<Kid>();
, когда я вызываю var Dad = dads.ToList (), я вижу, что пакет проходит по сети и отображается в профилировщике.
Проблема в том, что при перечислении коллекции все еще отправляются одноразовые запросы к базе данных
Например.
for each (Kid kid in Dad.Kids) // This seems to hit the database
{
Teach(kid);
}
Отправляет SQL-запрос и обращается к базе данных, чтобы получить каждого ребенка. Почему граф объекта не заполнен? или это ожидаемое поведение?