2009-08-14 61 views
0

我正在编写我的模拟repositoy的单元测试。虽然真正的存储库位于linq2sql上,但模型只使用linq2sql对象列表。当谈到多桌时,效率相当低。多对多的高效查询表

这里是塞纳里奥。

我有一个many2many表,它是tablePersonInCommunity,存储一个CommunityID和一个PersonID。并且还有一个many2many表tablePersionInContact,存储一个ContactID和一个PersionID。 ContactID指向Contact表的一个实体。其具有以下结构:

的ContactID INT, ContactType INT(企业或家庭), 地址1串, 地址2串, ...

现在,我想获得一个记录是这样的: PersionID,BusinessContact,HomeContact

什么是最有效的解决方案?我对包含100个人的信息进行的简单测试导致了当我对列表模型进行测试时超时。

在此先感谢!

回答

0

答案在于确保您的表格具有正确的索引策略。

因此...在您的多对多表上,在(ContactID,PersonID)上有一个索引,在(PersonID,ContactID)上有另一个索引,以便您的查询可以应付通过联系人或联系人查找人员由人。

Rob

+0

谢谢。但是我正在对基于列表的模型进行单元测试。没有办法添加索引。我在我的代码中使用了另一种算法。比以前更快。谢谢你们一样! – Roy 2009-08-14 03:36:00