这一直困扰着我一段时间,因为我试图想出一个优化的查询方式。多个交叉参考表加入linq
因此可以说我有3个共用一个公共列的交叉引用表,其中该公共列将在包含更多信息的主表上进行最终连接。
例如:
比方说,我有以下几点:
Customers //properties: ID, Name, Address
IEnumberable<CustomerSports> //properties: CustomerID, SportsID
IEnumberable<CustomerLocation> //properties: CustomerID, LocationID
IEnumberable<CustomerPets> //properties: CustomerID, PetsID
这样我就可以进行查询,如:
给我玩曲棍球,橄榄球,足球的客户名单(CustomerSports)......并且有住在纽约(客户位置)的狗和猫(CustomerPets)。查找表可以为空,所以客户可以玩运动,但没有宠物。
然后,当我得到客户列表时,我将加入客户表上的该公共列(CustomerID)以检索ID,名称和地址。
我在考虑在每次查询时让客户表加入,然后通过联合来获取客户列表,但我不知道这是否是正确的方式。
您希望拥有宠物或玩运动的客户(左外连接),还是只有拥有所有这些功能的客户? (你在问题中使用了AND两个字,但是你提到一些客户可以做一个而不是另一个让我认为你的意思是OR)。 –
在这里浏览它可能会导致一些见解。 http://msdn.microsoft.com/en-us/library/bb399397%28v=vs.110%29.aspx – Andy