Я собираюсь объяснить это простым способом, и я надеюсь, что это будет полезно для вас.
1) Создать пустое консольное приложение.
2) Составьте ссылку на сервис любой публичной службы OData. То есть http://services.odata.org/northwind/northwind.svc/
![enter image description here](https://i.stack.imgur.com/DxbuO.png)
После этого Visual Studio собирается добавить еще несколько ссылок сборки, как вы можете увидеть ниже
![enter image description here](https://i.stack.imgur.com/hIEFY.png)
3) Напишите следующий код
с использованием системы ; используя System.Collections.Generic; используя System.Data.Services.Client; используя System.Linq; используя System.Text; с использованием System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static DataServiceContext ctx = new DataServiceContext(new Uri("http://services.odata.org/northwind/northwind.svc/"));
static void Main(string[] args)
{
IEnumerable<ServiceReference1.Category> response =
ctx.Execute<ServiceReference1.Category>(new Uri("http://services.odata.org/northwind/northwind.svc/Categories"));
}
}
}
4) Установка точки останова в конце основного метода. А теперь отладочное приложение. Вы увидите список категорий.
![enter image description here](https://i.stack.imgur.com/usHjn.png)
5) Если OData разоблачили с разрешением реализовать все CRUD, то вы можете сделать это. И, конечно же, вы можете вернуть response
в ASP.NET MVC, но сначала вы должны преобразовать его в свой класс Model.
Возможно, вы сохраните статический DataServiceContext ctx = new DataServiceContext(new Uri("http://services.odata.org/northwind/northwind.svc/"));
в своем классе BaseController.
А также вы получите значение свойства, как это:
![enter image description here](https://i.stack.imgur.com/MglAG.png)
P.S. Взгляните на это видео http://www.youtube.com/watch?v=e07TzkQyops.