示例#1
0
        static async Task Main(string[] args)
        {
            var odataClient = new Simple.OData.Client.ODataClient("http://localhost:53339");

            //var entries = await odataClient.For<Common.TestEntity>().FindEntriesAsync();

            var newEntry = await odataClient.For <Common.TestEntity>().Set(new Common.TestEntity {
                Id = 150, DateTimeValue = DateTime.Now
            }).InsertEntryAsync();

            Debug.Assert(newEntry.LastDateTimeKind != "Unspecified", "Incorrect date time kind.");
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Example Application to test multiple load of Metadata document.");
            Console.WriteLine("Run Fiddler to check calls.");
            //Example Fiddler trace in FiddlerExample.saz.

            //Init the Client
            var client = new Simple.OData.Client.ODataClient("http://services.odata.org/V4/TripPinServiceRW");

            //Init two task to load Photos and People entities.
            var photosTask = client.For("Photos").FindEntriesAsync();
            var peopleTask = client.For("People").FindEntriesAsync();

            //Wait for the Tasks.
            System.Threading.Tasks.Task.WaitAll(photosTask, peopleTask);
        }
示例#3
0
        static async Task TestWithSimpleOdataClient()
        {
            var client = new Simple.OData.Client.ODataClient(_serviceUrl);

            // Untyped syntax
            Console.WriteLine("------------------------------------------------------------------------");
            Console.WriteLine("-- TEST WCF SERVICE WITH SIMPLE ODATA CLIENT LIBRARY (UNTYPED SYNTAX) --");

            var uProducts = await client.For("Products").FindEntriesAsync();

            Console.WriteLine("-- Untyped syntax -> client.For(\"Products\").FindEntriesAsync() ");
            foreach (var item in uProducts.ToList())
            {
                Console.WriteLine(item["Name"]);
            }
            Console.WriteLine();

            // Untyped syntax, filter Code = 'prd1'
            uProducts = await client.FindEntriesAsync("Products?$filter=Code eq 'prd1'");

            Console.WriteLine("-- Untyped syntax -> Products?$filter=Code eq 'prd1' ");
            foreach (var item in uProducts.ToList())
            {
                Console.WriteLine(item["Name"]);
            }
            Console.WriteLine();

            // Untyped syntax, filtering name 'Prod*'
            uProducts = await client.FindEntriesAsync("Products?$filter=startswith(Name,'Prod')");

            Console.WriteLine("-- Untyped syntax -> Products?$filter=startswith(Name,'Prod') ");
            foreach (var item in uProducts.ToList())
            {
                Console.WriteLine(item["Name"]);
            }
            Console.WriteLine();

            //Typed syntax
            Console.WriteLine("----------------------------------------------------------------------");
            Console.WriteLine("-- TEST WCF SERVICE WITH SIMPLE ODATA CLIENT LIBRARY (TYPED SYNTAX) --");

            var tProducts = await client.For <Product>().FindEntriesAsync();

            Console.WriteLine("-- Typed syntax -> client.For<Product>().FindEntriesAsync() ");
            foreach (var item in tProducts.ToList())
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();

            // Typed syntax, filter Code = 'prd1'
            tProducts = await client.For <Product>().Filter(x => x.Code == "prd1").FindEntriesAsync();

            Console.WriteLine("-- Typed syntax -> Products?$filter=Code eq 'prd1' ");
            foreach (var item in tProducts.ToList())
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();

            // Typed syntax, filtering name 'Prod*'
            tProducts = await client.For <Product>().Filter(x => x.Name.StartsWith("Prod")).FindEntriesAsync();

            Console.WriteLine("-- Typed syntax -> Products?$filter=startswith(Name,'Prod') ");
            foreach (var item in tProducts.ToList())
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();

            //Dynamic syntax
            Console.WriteLine("------------------------------------------------------------------------");
            Console.WriteLine("-- TEST WCF SERVICE WITH SIMPLE ODATA CLIENT LIBRARY (DYNAMIC SYNTAX) --");

            var dexpr     = Simple.OData.Client.ODataDynamic.Expression;
            var dProducts = await client.For(dexpr.Products).FindEntriesAsync();

            Console.WriteLine("-- Dynamic syntax -> client.For(x => x.Products).FindEntriesAsync() ");
            foreach (var item in dProducts)
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();

            // Dynamic syntax, filter Code = 'prd1'
            dProducts = await client.For(dexpr.Products).Filter(dexpr.Code == "prd1").FindEntriesAsync();

            Console.WriteLine("-- Dynamic syntax -> Products?$filter=Code eq 'prd1' ");
            foreach (var item in dProducts)
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();

            // Dynamic syntax, filtering name 'Prod*'
            dProducts = await client.For(dexpr.Products).Filter(dexpr.Name.StartsWith("Prod")).FindEntriesAsync();

            Console.WriteLine("-- Dynamic syntax -> Products?$filter=startswith(Name,'Prod') ");
            foreach (var item in dProducts)
            {
                Console.WriteLine(item.Name);
            }
            Console.WriteLine();
        }