public void Select_with_multiple_array_of_string_filters(string predicateUriString1, string filterValue1, string predicateUriString2, string filterValue2) { LoadTestFile("ComplexDataset.nq"); Uri predicateUri1 = new Uri(predicateUriString1); string pattern = System.Text.RegularExpressions.Regex.Escape(filterValue1); IQueryable<IProduct> query = from product in EntityContext.AsQueryable<IProduct>() from value in product.Predicate(predicateUri1) as ICollection<string> where System.Text.RegularExpressions.Regex.IsMatch(value, pattern) select product; Uri predicateUri2 = new Uri(predicateUriString2); EntityId[] filterValues2 = new EntityId[] { new EntityId(filterValue2) }; query = from product in query where filterValues2.Contains(product.Predicate(predicateUri2) as EntityId) select product; IEnumerable<IProduct> result = query.ToList(); Assert.That(result.Count(), Is.Not.EqualTo(0)); }