给定使用Future调用多级对象图:
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>();
Run Code Online (Sandbox Code Playgroud)
当我调用var Dad = dads.ToList()时,我看到批处理通过导线并显示在探查器中.
问题是在枚举集合时它仍然向db发送一个查询
例如.
for each (Kid kid in Dad.Kids) // This seems to hit the database
{
Teach(kid);
}
Run Code Online (Sandbox Code Playgroud)
发送SQL查询并点击数据库以获取每个孩子.为什么没有填充对象图?或者这是预期的行为?