Beispiel #1
0
        public async Task <HttpResponseMessage> PatchEntity(ServiceApiEdmEntityObject entity, ODataPath path, QueryOptions query)
        {
            HttpResponseMessage errorResponse;

            if (!this.TryValidateRequest(entity, path, this.oDataRepository.CanPatch, out errorResponse))
            {
                return(errorResponse);
            }

            var patchedEntity = await this.oDataRepository.Patch(path, query, entity.As <IODataEntityObject>());

            return(this.Request.CreatePatchResponse(patchedEntity));
        }
Beispiel #2
0
        public override object CreateEntityResource(IEdmEntityTypeReference entityType, ODataDeserializerContext readContext)
        {
            var resource = base.CreateEntityResource(entityType, readContext);

            var edmEntityObject = resource as EdmEntityObject;

            if (edmEntityObject != null)
            {
                // we force web api to use our own EdmEntityObject which implements IODataEntityObject
                resource = new ServiceApiEdmEntityObject(entityType);
            }

            return(resource);
        }