Flexberry ORM ODataService 5.2.0-beta01
Класс NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController

OData controller class. Part with OData Service functions. Подробнее...

Граф наследования:NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController:
NewPlatform.Flexberry.ORM.ODataService.Controllers.BaseODataController

Открытые члены

IHttpActionResult PostODataActionsExecute (ODataActionParameters parameters)
 Выполняет action. Имя "PostODataActionsExecute" устанавливается в DataObjectRoutingConvention.SelectAction. Подробнее...
 
 DataObjectController (IDataService dataService, DataObjectCache dataObjectCache, DataObjectEdmModel model, IEventHandlerContainer events, IFunctionContainer functions)
 Конструктор по-умолчанию. Подробнее...
 
HttpResponseMessage HandleUnmappedRequest (ODataPath odataPath)
 Обрабатывает все несопоставленные запросы OData Подробнее...
 
HttpResponseMessage GetEntity ()
 Обрабатывает запросы GET, которые предпринимают попытку получить отдельную сущность. Имя "GetEntity" устанавливается в DataObjectRoutingConvention.SelectAction. Подробнее...
 
HttpResponseMessage GetCollection ()
 Обрабатывает запросы GET, которые предпринимают попытку получить сущности из набора сущностей. Этот метод вычисляет совпадающие сущности, применяя параметры запроса. Имя "GetCollection" устанавливается в DataObjectRoutingConvention.SelectAction. Подробнее...
 
HttpResponseMessage GetString ()
 
HttpResponseMessage GetGuid ()
 Обрабатывает запросы GET, которые предпринимают попытку получить отдельную сущность с помощью ключа из набора сущностей. Подробнее...
 
HttpResponseMessage Get ()
 Обрабатывает запросы GET, которые предпринимают попытку получить сущности из набора сущностей. Этот метод вычисляет совпадающие сущности, применяя параметры запроса. Подробнее...
 
int GetObjectsCount (Type type, ODataQueryOptions queryOptions)
 Возвращает количество объектов для linq-выражения соответствующего параметрам запроса OData (только для $filter). Подробнее...
 
EdmEntityObject GetEdmObject (IEdmEntityType entityType, object obj, int level, ExpandedNavigationSelectItem expandedNavigationSelectItem)
 Преобразует объект DataObject в сущность. Подробнее...
 
Expression ToExpression< TElement > (ODataQueryOptions queryOpt)
 Возвращает linq-выражение соответствующее параметрам запроса OData. Подробнее...
 
Expression ToExpressionFilterOnly< TElement > (ODataQueryOptions queryOpt)
 Возвращает linq-выражение соответствующее параметрам запроса OData (только для $filter). Подробнее...
 
IQueryable ApplyTo< TElement > (ODataQueryOptions queryOpt, DataObject[] objs)
 Применяет linq-выражение соответствующее параметрам запроса OData к массиву объектов DataObject. Подробнее...
 
IHttpActionResult SetResultPrimitive (Type type, object content)
 Преобразует примитивное значение в результат Http для ответа. Подробнее...
 
OkNegotiatedContentResult< T > SetResult< T > (T content)
 Преобразует сущность или набор сущностей в результат Http для ответа. Подробнее...
 
ODataQueryOptions CreateODataQueryOptions (Type type)
 Создаёт параметры запроса OData. Подробнее...
 
ODataQueryOptions CreateODataQueryOptions (Type type, HttpRequestMessage request)
 Создаёт параметры запроса OData. Подробнее...
 
LoadingCustomizationStruct CreateLcs ()
 
HttpResponseMessage Post ([FromBody] EdmEntityObject edmEntity)
 Создание сущности и всех связанных. При существовании в БД произойдёт обновление. Подробнее...
 
HttpResponseMessage Patch ([FromODataUri] Guid key, [FromBody] EdmEntityObject edmEntity)
 Обновление сущности (свойства могут быть заданы частично, т.е. указывать можно значения только измененных свойств). Если сущности с заданным ключом нет в БД происходит Upsert (в соответствии со стандартом). Подробнее...
 
HttpResponseMessage DeleteString ()
 Осуществляет удаление сущности. Подробнее...
 
HttpResponseMessage DeleteGuid ()
 Осуществляет удаление сущности. Подробнее...
 
IHttpActionResult GetODataFunctionsExecute ()
 Выполняет пользовательскую функцию. Имя "GetODataFunctionsExecute" устанавливается в DataObjectRoutingConvention.SelectAction. Подробнее...
 

Открытые статические члены

static HttpResponseMessage InternalServerErrorMessage (Exception ex, IEventHandlerContainer events, HttpRequestMessage request)
 Создаётся http-ответ с кодом 500 по-умолчанию, на возникшую в сервисе ошибку. Для изменения возвращаемого кода необходимо реализовать обработчик CallbackAfterInternalServerError. Подробнее...
 

Свойства

ODataQueryOptions QueryOptions [get, set]
 Используемые в запросе параметры. Заполняется в методе Init(). Подробнее...
 
Type type [get, set]
 Тип DataObject, который соответствует сущности в наборе из запроса. Заполняется в методе Init(). Подробнее...
 
bool IncludeCount [get, set]
 Включать или нет в метаданные количество сущностей. Подробнее...
 
int Count [get, set]
 Количество сущностей в результате, которое будет указано в метаданных. Подробнее...
 

Дополнительные унаследованные члены

- Защищенные члены унаследованные от NewPlatform.Flexberry.ORM.ODataService.Controllers.BaseODataController
override void Initialize (HttpControllerContext controllerContext)
 Осуществляет инициализацию, которая должна выполниться до начала обработки какого-либо запроса. Подробнее...
 

Подробное описание

OData controller class. Part with OData Service functions.

OData controller class. Part with event handlers.

Определяет класс контроллера OData, который поддерживает запись и чтение данных с использованием OData формата.

Конструктор(ы)

NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.DataObjectController ( IDataService  dataService,
DataObjectCache  dataObjectCache,
DataObjectEdmModel  model,
IEventHandlerContainer  events,
IFunctionContainer  functions 
)
inline

Конструктор по-умолчанию.

Аргументы
dataServiceData service for all manipulations with data.
dataObjectCacheDataObject cache.
modelEDM model.
eventsThe container with registered events.
functionsThe container with OData Service functions.

Методы

IQueryable NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.ApplyTo< TElement > ( ODataQueryOptions  queryOpt,
DataObject[]  objs 
)
inline

Применяет linq-выражение соответствующее параметрам запроса OData к массиву объектов DataObject.

Аргументы
queryOptПараметры запроса.
objsМассив объектов DataObject.
Параметры шаблона
TElementПараметр.
Возвращает
Совпадающие с запросом OData объекты DataObject.
ODataQueryOptions NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.CreateODataQueryOptions ( Type  type)
inline

Создаёт параметры запроса OData.

Аргументы
typeТип DataObject.
Возвращает
Параметры запроса OData.
ODataQueryOptions NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.CreateODataQueryOptions ( Type  type,
HttpRequestMessage  request 
)
inline

Создаёт параметры запроса OData.

Аргументы
typeТип DataObject.
Возвращает
Параметры запроса OData.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.DeleteGuid ( )
inline

Осуществляет удаление сущности.

Возвращает
Результат выполнения запроса типа StatusCodeResult, соответствующий статусу HttpStatusCode.NoContent.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.DeleteString ( )
inline

Осуществляет удаление сущности.

Возвращает
Результат выполнения запроса типа StatusCodeResult, соответствующий статусу HttpStatusCode.NoContent.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.Get ( )
inline

Обрабатывает запросы GET, которые предпринимают попытку получить сущности из набора сущностей. Этот метод вычисляет совпадающие сущности, применяя параметры запроса.

Возвращает
Совпадающие сущности из набора сущностей.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetCollection ( )
inline

Обрабатывает запросы GET, которые предпринимают попытку получить сущности из набора сущностей. Этот метод вычисляет совпадающие сущности, применяя параметры запроса. Имя "GetCollection" устанавливается в DataObjectRoutingConvention.SelectAction.

Возвращает
Совпадающие сущности из набора сущностей.
EdmEntityObject NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetEdmObject ( IEdmEntityType  entityType,
object  obj,
int  level,
ExpandedNavigationSelectItem  expandedNavigationSelectItem 
)
inline

Преобразует объект DataObject в сущность.

Аргументы
entityTypeТип сущности.
objОбъект DataObject.
levelГлубина раскрытия для навигационных свойств. Пока всегда должно быть равно 1, а если это рекурсивный вызов, то может быть равно 0.
expandedNavigationSelectItemНавигационное свойство.
Возвращает
Сущность.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetEntity ( )
inline

Обрабатывает запросы GET, которые предпринимают попытку получить отдельную сущность. Имя "GetEntity" устанавливается в DataObjectRoutingConvention.SelectAction.

Возвращает
Сущность
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetGuid ( )
inline

Обрабатывает запросы GET, которые предпринимают попытку получить отдельную сущность с помощью ключа из набора сущностей.

Аргументы
keyКлюч сущности, которую необходимо получить.
Возвращает
Сущность
int NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetObjectsCount ( Type  type,
ODataQueryOptions  queryOptions 
)
inline

Возвращает количество объектов для linq-выражения соответствующего параметрам запроса OData (только для $filter).

Аргументы
typeТип DataObject.
queryOptionsПараметры запроса.
Возвращает
Количество объектов.
IHttpActionResult NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.GetODataFunctionsExecute ( )
inline

Выполняет пользовательскую функцию. Имя "GetODataFunctionsExecute" устанавливается в DataObjectRoutingConvention.SelectAction.

Возвращает
Результат выполнения пользовательской функции, преобразованный к типам сущностей EDM-модели или к примитивным типам. После преобразования создаётся результат HTTP для ответа.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.HandleUnmappedRequest ( ODataPath  odataPath)
inline

Обрабатывает все несопоставленные запросы OData

Аргументы
odataPathПуть запроса.
Возвращает
Содержит сообщение ответа для отправки в клиент после завершения.
static HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.InternalServerErrorMessage ( Exception  ex,
IEventHandlerContainer  events,
HttpRequestMessage  request 
)
inlinestatic

Создаётся http-ответ с кодом 500 по-умолчанию, на возникшую в сервисе ошибку. Для изменения возвращаемого кода необходимо реализовать обработчик CallbackAfterInternalServerError.

Аргументы
exОшибка сервиса.
eventsThe container with registered events.
requestOriginal HTTP request message for create a response.
Возвращает
Http-ответ.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.Patch ( [FromODataUri] Guid  key,
[FromBody] EdmEntityObject  edmEntity 
)
inline

Обновление сущности (свойства могут быть заданы частично, т.е. указывать можно значения только измененных свойств). Если сущности с заданным ключом нет в БД происходит Upsert (в соответствии со стандартом).

Аргументы
keyКлюч обновляемой сущности.
edmEntityОбновляемая сущность.
Возвращает
Обновлённая сущность.
HttpResponseMessage NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.Post ( [FromBody] EdmEntityObject  edmEntity)
inline

Создание сущности и всех связанных. При существовании в БД произойдёт обновление.

Аргументы
edmEntityСоздаваемая сущность.
Возвращает
Созданная сущность.
IHttpActionResult NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.PostODataActionsExecute ( ODataActionParameters  parameters)
inline

Выполняет action. Имя "PostODataActionsExecute" устанавливается в DataObjectRoutingConvention.SelectAction.

Аргументы
parametersПараметры action.
Возвращает
Результат выполнения action, преобразованный к типам сущностей EDM-модели или к примитивным типам. В случае, если зарегистрированый action не возвращает результат, будет возвращён только код 200 OK. После преобразования создаётся результат HTTP для ответа.
OkNegotiatedContentResult<T> NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.SetResult< T > ( content)
inline

Преобразует сущность или набор сущностей в результат Http для ответа.

Аргументы
contentСодержимое.
Параметры шаблона
TПараметр.
Возвращает
Результат Http для ответа.
IHttpActionResult NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.SetResultPrimitive ( Type  type,
object  content 
)
inline

Преобразует примитивное значение в результат Http для ответа.

Аргументы
typeТип содержимого.
contentСодержимое.
Возвращает
Результат Http для ответа.
Expression NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.ToExpression< TElement > ( ODataQueryOptions  queryOpt)
inline

Возвращает linq-выражение соответствующее параметрам запроса OData.

Аргументы
queryOptПараметры запроса.
Параметры шаблона
TElementПараметр.
Возвращает
Linq-выражение.
Expression NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.ToExpressionFilterOnly< TElement > ( ODataQueryOptions  queryOpt)
inline

Возвращает linq-выражение соответствующее параметрам запроса OData (только для $filter).

Аргументы
queryOptПараметры запроса.
Параметры шаблона
TElementПараметр.
Возвращает
Linq-выражение.

Полный список свойств

int NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.Count
getset

Количество сущностей в результате, которое будет указано в метаданных.

bool NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.IncludeCount
getset

Включать или нет в метаданные количество сущностей.

ODataQueryOptions NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.QueryOptions
getset

Используемые в запросе параметры. Заполняется в методе Init().

Type NewPlatform.Flexberry.ORM.ODataService.Controllers.DataObjectController.type
getset

Тип DataObject, который соответствует сущности в наборе из запроса. Заполняется в методе Init().