0
這是一個非常常見的問題,但我無法在google上找到很好的答案。使用EF4.1查詢樹結構時的最佳性能
我有一個標準的樹結構,
- 編號
- 的ParentId
- 名稱
- ForeignKeyId
我第一次嘗試在查詢
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();