如何在实体框架中有效地获取实体及其子对象的 IList?
也就是说,我想这样做:
var lists = (from list in this.DB.Lists
select new
{
List = list,
Items = list.ListItems.ToList(),
}).ToList();
但是,显然,实体框架不支持 select 子句中的 ToList
扩展方法。
我应该怎么办?我尝试过的任何其他方法最终都会在迭代时向数据库发送大量查询。
That is, I want to do this:
var lists = (from list in this.DB.Lists
select new
{
List = list,
Items = list.ListItems.ToList(),
}).ToList();
But, obviously, the Entity Framework doesn't support the ToList
extension method in the select clause.
What should I do? Any other method I've tried ends up sending a ton of queries to the database when iterating.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过
Include
etension 方法?Have you tried the
Include
etension method?您无法对转换为 SQL 的查询部分调用
ToList
,但您可以使用AsEnumerable
在本地执行此操作:You can't call
ToList
on the part of the query that is translated to SQL, but you can do it locally, usingAsEnumerable
: