2015-03-28 1 views
1

Я работал со следующим стеком MVC5 + WebAPI 2.2 + EF6 + AngularJS для своего веб-приложения. Сегодня я попытался включить OData и Angular BreezeJS в мое приложение, и он отлично работал для одного из объектов.Является ли OData подходящим для большого приложения MVC5/WebAPI

В настоящее время у меня около 45 таблиц, которые переводятся на 45 классов моделей.

В Web API у меня могло быть только 5-10 контроллеров для обработки CRUD-операций для 45 моделей с использованием оператора switch на основе переменных, которые я передаю, как entityName, operationName.

Но, в OData мне нужны 45 контроллеров, подкрашенных VS. Есть ли способ использовать преимущества OData, такие как querying/paging/patching, без необходимости создавать контроллер для каждого класса модели?

ответ

0

Я сделал это для системы администратора для электронной коммерции. Вероятно, около 20 таблиц и связанных с ними контроллеров api, некоторые из таблиц имеют 10 000 записей, и все контроллеры имеют биты odata. Кажется, это прекрасно для меня на Azure SQL и веб-сайтах. Я использую контроллер для модели/объекта, почему вы против этого?

+0

На данный момент мы находимся на 45 объектах, и по мере расширения мы можем добавить еще 15-20, и мне не удобно иметь дело с 60 контроллерами. Другая проблема заключается в том, что мне нужно иметь 60 разных конечных точек для использования в Angular, тогда как в WebAPI я могу делать с 5-10 – Dev

4

Вы работаете с Entity Framework? Если это так, вы можете попробовать с RESTier. RESTier - это , основанный на веб-интерфейсе API OData, и ему нужен только ОДИН контроллер, чтобы все основные CRUD (включая запросы) работали.

Вы можете узнать больше из учебника http://odata.github.io/RESTier/Getting-Started-Part-1/, а образец с Northwind располагается на https://github.com/OData/RESTier/tree/master/src/Microsoft.Restier.Samples.Northwind.

+0

Выглядит круто. Но поскольку он все еще находится в превью, я буду ждать его первого крупного релиза. – Dev