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); }
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 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(); }