与OData一起使用Devart Oracle提供程序时出现DataServiceException
我正在使用Devart Oracle驱动程序,使用OData端点调用它 在其中一个环境中,我收到一个错误:与OData一起使用Devart Oracle提供程序时出现DataServiceException,oracle,entity-framework,odata,devart,Oracle,Entity Framework,Odata,Devart,我正在使用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
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();
var type=modelServiceWrapper.CreateQuery()
.OrderBy(m=>m.Subclass.Property1)
其中(m=>m.Id==Id和&m.Subclass.Property2==typeToFilterOn)
.Select(m=>new{m.Id})
.FirstOrDefault();
看起来这是一个特定于环境的问题,因为相同的IIS文件夹和相同的数据库可以在其他环境中正常工作
看起来错误消息是从中抛出的,但我无法深入了解Devart Oracle provider无法处理ProjectedWrapper*对象的原因
有人面临过这样的问题吗
更新
问题似乎与数据或数据库设置有关。我试图将同一环境中的同一代码指向不同的数据库,但没有发现问题
代理创建id也被禁用。尝试此解决方案:。@Devart谢谢!我的ProxyCreationEnabled=false,问题似乎与数据或Oracle版本有关。当我将相同的环境指向不同的数据库时,它工作得很好。不过我还是会试试的。