【发布时间】:2011-11-01 15:41:59
【问题描述】:
这是一个非常常见的问题,但我在谷歌上也找不到很好的答案。
我有一个标准的树结构,
- 身份证
- 父母身份
- 姓名
- 外键ID
我第一次尝试查询
return db.Tree
.Where(t => t.ForeignKeyId == xxx && t.Parent == null).SingleOrDefault();
这将导致 N*2 选择数据库。漂亮的小树很慢,大树超时。
EF4.1 有什么好方法可以加快树遍历的速度吗?
编辑:这个效果好一点
var eager = db.Tree.Include(t => t.Children).Where(t => t.ForeignKeyIdd == xxx).ToList();
return eager
.Where(t.Parent == null).SingleOrDefault();
【问题讨论】:
标签: performance tree entity-framework-4.1 traversal