OData .net core
От: vorona  
Дата: 28.10.16 10:47
Оценка: 299 (12)
Всем привет!

Для вакансий где требуют примеры кода на github, создал проект поддержки OData для .net core.
https://github.com/voronov-maxim/OdataToEntity

Основной плюс моего велосипеда, для того чтобы сделать OData сервис надо иметь только DbContext Entity Framework. Цель велосипеда реализовать OData на платформе .net core. Библиотека отвязана от http, что позволяет реализовать OData поверх любого транспорта.

В тестах находится пример реализации asp .net core сервиса и Microsoft.OData.Client (framework 4.6.2) клиента. Проект содержит 56 тестовых запросов (xunit), которые покрывают основные сценарии использования.

Краткое описание работы библиотеки: по DbContext создает OData Edm модель, которая затем используется для трансляции входящей строки OData запроса в expression tree, который выполняется в DbContext и на выходе получаем результаты запроса в Json формате.
Библиотека поддерживает batch change set, т.е. пакетную вставку, обновление, удаление записей. Используя OData Edm модель, данные десериализуются в модель Entity Framework и через контекст сохраняются в базе данных.

Библиотека Реализована на .net core 1.1.0-preview1/framework 4.6.2, использует Microsoft.OData.Core 7.0. Поддерживаются Entity Framework 6.1.3 и Entity Framework Core 1.1.0-preview1.

Описание солюшенов:
1) OdataToEntityCore.sln библиотека .net core
2) OdataToEntity.sln библиотека 4.6.2
3) OdataToEntity.Test.sln тесты 4.6.2
4) OdataToEntityCore.Test.sln тесты.net core
5) OdataToEntityCore.Asp.sln пример сервиса
6) OdataToEntity.AspClient.sln пример клиента
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.