예제 #1
0
        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));
        }