例如,我有关联表XOrder
和XUser
。我将它们添加到编辑器中的DBML文件中,并在那里创建了一对多关联。现在,User
中的XOrder
和Orders
XUser
中的属性DataLoadOptions.LoadWith
。我想在用户的单个SQL查询中加载所有用户的订单。我尝试了dataContext.GetTable<XUser>().ToArray()
方法并发现我无法做到这一点。当我做JOIN
Linq-To-SQL生成一个SQL查询以从数据库中获取所有用户,然后生成大量SQL查询以获取每个用户的所有相关订单 - 这不是我想要的。有没有办法告诉Linq-to-SQL使用LoadWith
呢?
实体框架如何解决此问题?
UPDATE。那么......使用{{1}}而不是默认延迟加载的原因是什么?两者都创建了N + 1个SQL查询。