。它给戏剧性的结果 :( 有很多线程,但不是在vb.net中,我那种失去替代。载在LINQ和我在与<strong>。载</strong>方法在LINQ问题的子查询
比方说,我有2数据表在我的数据集:
- 第一保持的树结构(可以被看作是这一点):
Category (.id="1")
|- Genre a (.id="13")
|- Genre b (.id="15")
|- ...
|- Genre n
- 第二保持在数据中的数据(20.000行)
每行被附着到树中的一个节点(无论是主类,或以一个子类别(流派)) 简单地说,每行具有.Genre_Id属性使用正确的ID
查询一个简单的节点非常容易。 但我需要查询我的数据集,以得到“从类别所有行,包括它的子类所有行”
到目前为止,我用这个代码:
dim lnQ = (From data In tblData _
Where data.Genre_Id = "1" _
OrElse (From genre In tblStructure _
Where genre.parent_Id = "1" _
Select genre.Id).Contains(data.Genre_Id) _
Select data).ToList
它的工作原理但对大型数据库有非常不好的影响。
什么是适当修复完全避免vb.net中的.Contains()方法? 我需要最快的解决方案,因为我的数据库将在未来增长到50,000行!
我已经tryed加入,但不能让它正常工作。 在此先感谢!
您的解决方案有什么问题。它会给你一个错误,错误的结果,还是只是慢? – raznagul 2015-02-08 10:08:54
速度!大约需要20/30秒。对同一个确切数据库的其他查询需要0.0.100! .Contains()是原因 – Castaway 2015-02-08 13:03:22