给定一个使用 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>();
当我调用 var Dad = dads.ToList() 时,我看到批次穿过电线并显示在分析器中。
问题是在枚举集合时它仍然向数据库发送一次查询
例如。
for each (Kid kid in Dad.Kids) // This seems to hit the database
{
Teach(kid);
}
发送 SQL 查询并访问数据库以获取每个孩子。为什么没有填充对象图?还是这是预期的行为?