NHibernate Future Object Graph Many Queries

Учитывая, что многоуровневый граф объектов вызывается с использованием 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-запрос и обращается к базе данных, чтобы получить каждого ребенка. Почему граф объекта не заполнен? или это ожидаемое поведение?

7
задан Diego Mijelshon 25 March 2011 в 19:23
поделиться