Consuming OData based Rest service in C# [en-US]
- by ruimachado
Nowadays comunication between applications is an active topic with daily usage and a large amount of pratical appliances. While developing an app in witch I had to consume an OData I found out that combining Linq with my code made this operation pretty easy.The algorithm to consume OData starts with adding a service reference to Visual Studio:After adding the service reference in wich you define the uri to the service, we start building our code.In your code the algorithm is the following:Define the Uri to your OData ServiceDefine the context of your odata, wich contains all entities exposed by the service.Query the context using LinqPrint the resultEasy and simple.Example code:01public static void Main(string[] args){02 03 Uri serviceUri= newUri("http://example.host.odataservice.net/service.svc", UriKind.Absolute);04 ODataService.ServiceEntities context = newODataService.ServiceEntities (serviceUri);05 06 context.Credentials = newSystem.Net.NetworkCredential(Username,Password);07 08 var query = from ServiceObject in context.YourEntity09 select ServiceObject ;10 11 foreach (var myObject in query)12 {13 Console.WriteLine("\n Field1: {0} | Field2: {1}",14 myObject .Field1, myObject .Field2);15 16 }17}That’s it.Thank you,Rui Machadorpmachado.wordpress.com