我正在为我的模拟repositoy编写单元测试。虽然真正的存储库位于linq2sql上,但模型只使用linq2sql对象列表。当涉及多对多表时,效率相当低。
这是Senario。
我有一个many2many表,它是tablePersonInCommunity,存储了一个CommunityID和一个PersonID。还有一个很多的表tablePersionInContact,存储一个ContactID和一个PersionID。 ContactID指向Contact表的实体。具有以下结构:
ContactID int, ContactType int(商业或家庭), 地址1字符串, 地址2字符串, ...
现在,我想获得一个如下记录: PersionID,BusinessContact,HomeContact
最有效的解决方案是什么?当我对列表模型进行测试时,我的简单测试包括100个人的信息导致超时。
提前致谢!
答案 0 :(得分:0)
答案是确保您的表格具有正确的索引策略。
所以...在你的多对多表上,在(ContactID,PersonID)上有一个索引,在(PersonID,ContactID)上有另一个索引,这样你的查询就可以应付通过联系人或联系人查找人员了人
罗布