Consuming OData based Rest service in C# [en-US]

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:

  1. Define the Uri to your OData Service
  2. Define the context of your odata, wich contains all entities exposed by the service.
  3. Query the context using Linq
  4. Print the result

Easy and simple.

Example code:

public static void Main(string[] args){

        Uri serviceUri= new Uri("", UriKind.Absolute);
        ODataService.ServiceEntities context = new ODataService.ServiceEntities (serviceUri);

        context.Credentials = new System.Net.NetworkCredential(Username,Password);

         var query = from ServiceObject in context.YourEntity
                     select ServiceObject ;

        foreach (var myObject in query)
            Console.WriteLine("\n Field1: {0} | Field2: {1}",
            myObject .Field1, myObject .Field2);


That’s it.

Thank you,

Rui Machado


Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da

Está a comentar usando a sua conta Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )


Connecting to %s