Ich verwende WCF Data Service (Odata) mit .NET Framework 4.5.1 und EF 6.1. Ich habe den ersten Code verwendet, um ein EF-Modell zu erstellen. Wenn ich dieses EF-Modell (AddProjectModel.cs) auf WCF OData Service (WcfDataService1.svc) verweisen, wird folgende Fehlermeldung ausgelöst:
Fehler:
Der Server hat einen Fehler bei der Verarbeitung der Anfrage festgestellt. Die Ausnahmebedingungsnachricht lautet 'Beim Datenkontexttyp' AddProjectModel 'gibt es eine obere IQueryable-Eigenschaft' Assets ', deren Elementtyp kein Entitätstyp ist. Stellen Sie sicher, dass die IQueryable-Eigenschaft vom Entitätstyp ist, oder geben Sie das IgnoreProperties-Attribut im Datenkontexttyp an, um diese Eigenschaft zu ignorieren. Weitere Informationen finden Sie in den Serverprotokollen. Die Ausnahmestapelüberwachung ist:
um System.Data.Services.Providers.ReflectionServiceProvider.PopulateMetadata (ProviderMetadataCacheItem metadataCacheItem) bei System.Data.Services.Providers.BaseServiceProvider.LoadMetadata (Boolean skipServiceOperations) bei System.Data.Services.DataService 1.CreateInternalProvider(Object dataSourceInstance) at System.Data.Services.DataService
1.CreateMetadataAndQueryProviders ( IDataServiceMetadataProvider & amp; metadataProviderInstance, IDataServiceQueryProvider & amp; queryProviderInstance, object & amp; dataSourceInstance, boolean & amp; isInternallyCreatedProvider) bei System.Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService
1.HandleRequest () bei System.Data.Services.DataService'1.ProcessRequestForMessage (Stream messageBody) bei SyncInvokeProcessRequestForMessage (Object, Object [], Object []) bei System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke (Object-Instanz, Object [] -Inputs, Object [] & amp; Outputs) bei System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & amp; rp c) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3 (MessageRpc & amp; rpc) bei System. ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1 (MessageRpc & amp; rpc) bei System.ServiceModel.Dispatcher.MessageRpc .Process (Boolean isOperationContextSet)
Hier ist mein WCF-Datenservice: WcfDataService1.svc
%Vor%Mein Code erstes Modell: AddProjectModel.cs
%Vor%Asset-Klasse:
%Vor%Projektklasse:
%Vor%Ich weiß nicht, wie ich dieses Problem lösen kann. Könnten Sie mir bitte sagen, was ich hier vermisse?
Ich benutze Oracle-Datenbank und wir haben kürzlich eine Lizenz von devart für dotConnect für Oracle erworben.
Danke,
Hallo,
Ich habe diesen Fehler behoben, indem ich das Attribut [DataServiceKey] mit Primärschlüssel für jede POCO-Klasse eingerichtet habe. Bitte beachten Sie: Ссылка .
Jetzt kann ich Entitäten über den Odata-Dienst verfügbar machen, aber wenn ich versuche, auf die Entitätssammlung zuzugreifen, indem ich URL (zB ... / WcfDataService1.svc / Assets) eingibt, wird folgender Fehler ausgegeben:
Fehler:
%Vor%Wie löse ich das?
Danke,
Um WCF DataService mit EF6 zu verwenden, muss noch etwas Arbeit geleistet werden. Bitte überprüfen Sie die folgenden zwei Blogposts für Details:
Verwenden von WCF Data Services 5.6.0 mit Entity Framework 6+
Der WCF Data Services Entity Framework-Anbieter wurde mit WCF Data Service 5.6.2
aktualisiertIm Allgemeinen benötigen Sie die folgenden zwei Schritte:
Ersetzen Sie DataService durch EntityFrameworkDataService, sagen Sie in Ihrem WcfDataService1.svc:
öffentliche Klasse WcfDataService1: EntityFrameworkDataService
Tags und Links wcf entity-framework odata