Exemplo n.º 1
0
        public void When_Using_Projections_Then_Returned_Sequence_Contains_ProjectedTypes()
        {
            using (var scenario =
                       new ODataScenario()
                       .WithProducts(Any.Products(8))
                       .Start())
            {
                var context = GetDataServiceContext(scenario.GetBaseAddress());
                var dQuery  = context.CreateQuery <Product>("/" + "Products");
                IReadOnlyQueryableSet <Product> readOnlySet = new ReadOnlyQueryableSet <Product>(dQuery, context);

                //Query directly
                var prodNames = readOnlySet.Select(p => new { p.Name, p.Price }).ExecuteAsync().Result;
                prodNames.CurrentPage.Count.Should().Be(8);

                //Query using linq
                var linqQuery = from prod in readOnlySet
                                select new { prod.Name, prod.Price };
                prodNames = linqQuery.ExecuteAsync().Result;
                prodNames.CurrentPage.Count.Should().Be(8);
            }
        }
Exemplo n.º 2
0
        public void When_Using_Projections_Then_Returned_Sequence_Contains_ProjectedTypes()
        {
            using (var scenario =
                    new ODataScenario()
                        .WithProducts(Any.Products(8))
                        .Start())
            {
                var context = GetDataServiceContext(scenario.GetBaseAddress());
                var dQuery = context.CreateQuery<Product>("/" + "Products");
                IReadOnlyQueryableSet<Product> readOnlySet = new ReadOnlyQueryableSet<Product>(dQuery, context);

                //Query directly
                var prodNames = readOnlySet.Select(p => new { p.Name, p.Price }).ExecuteAsync().Result;
                prodNames.CurrentPage.Count.Should().Be(8);

                //Query using linq
                var linqQuery = from prod in readOnlySet
                                select new { prod.Name, prod.Price };
                prodNames = linqQuery.ExecuteAsync().Result;
                prodNames.CurrentPage.Count.Should().Be(8);
            }
        }