我有一个多对多的表结构称为PropertyPets。它包含一个由PropertyID(来自Property表)和一个或多个PetID(来自Pet表)的双主键组成。LINQ多对多有或包含子句(和一个扭曲)
接下来我有一个搜索屏幕,人们可以从jquery multiple select下拉选择多个宠物。比方说,有人选择狗和猫。
现在,我希望能够返回在多对多表格PropertyPets中包含两个狗和猫的所有属性。我试图用Linq to Sql来做到这一点。
我已经看过了包含子句,但它似乎并没有对我的要求工作:
var result = properties.Where(p => search.PetType.Contains(p.PropertyPets));
这里,search.PetType是的ID,用于狗和猫的int []数组(在多选下拉菜单中选择)。问题首先,Contains需要一个字符串,而不是类型为PropertyPet的IEnumerable。其次,我需要找到既有狗又有猫的特性,而不仅仅是包含一个或另一个。
谢谢你的任何指针。
杰夫 - 它的作品!谢谢。非常简洁,看起来非常有创意,可以启动。 – Chris 2011-02-24 16:57:16
@Chris - 没问题。乐于帮助 :) – 2011-02-24 18:01:43