DataServiceException при использовании поставщика Oracle Devart с OData - PullRequest
0 голосов
/ 29 июня 2018

Я использую драйвер Devart Oracle, вызывая его с помощью конечной точки OData.

В одной из сред я получаю сообщение об ошибке:

Data service failure.
An exception was thrown of type DataServiceException.
    Message: Internal Server Error. The type 'System.Data.Services.Internal.ProjectedWrapper3' is not a complex type or an entity type.
    Source: Microsoft.Data.Services
    Help Link: 
    ErrorCode: 
    HResult: -2146233079
    MessageLanguage: en-US
    StatusCode: 500
    TargetSite: System.Data.Services.Providers.ResourceType GetNonPrimitiveResourceType(System.Data.Services.Providers.DataServiceProviderWrapper, System.Object)
    Exception Type: System.Data.Services.DataServiceException, Microsoft.Data.Services, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Additional Information:
    FullName: Validation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null
    IdentityName: NT AUTHORITY\NETWORK SERVICE

Stack Trace:
       at System.Data.Services.WebUtil.GetNonPrimitiveResourceType(DataServiceProviderWrapper provider, Object obj)
       at System.Data.Services.Serializers.EntitySerializer.WriteEntry(IExpandedResult expanded, Object element, Boolean resourceInstanceInFeed, ResourceType expectedType)
       at System.Data.Services.Serializers.EntitySerializer.WriteFeedElements(IExpandedResult expanded, QueryResultInfo elements, ResourceType expectedType, String title, Func`1 getRelativeUri, Func`1 getAbsoluteUri, Boolean topLevel)
       at System.Data.Services.Serializers.EntitySerializer.WriteTopLevelElements(IExpandedResult expanded, QueryResultInfo elements)
       at System.Data.Services.Serializers.Serializer.WriteRequest(QueryResultInfo queryResults)
       at System.Data.Services.ResponseBodyWriter.Write(Stream stream)

при выполнении следующего запроса:

var type = modelServiceWrapper.CreateQuery<MyClass>()
                .OrderBy(m => m.Subclass.Property1)
                .Where(m => m.Id == id && m.Subclass.Property2 == typeToFilterOn)
                .Select(m => new {m.Id})
                .FirstOrDefault();

Похоже, что это проблема конкретной среды, потому что те же самые папки IIS и та же база данных отлично работают в других средах.

Похоже, сообщение об ошибке выдается здесь , но я не могу углубиться и выяснить, почему поставщик Oracle Devart не может обработать объект ProjectedWrapper *.

Кто-нибудь сталкивался с такой проблемой?

Обновление

Похоже, проблема связана с данными или настройками базы данных. Я попытался указать один и тот же код в той же среде на другую базу данных, но проблема не возникла.

Идентификатор ProxyCreation тоже отключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...