web-dev-qa-db-fra.com

Le serveur a rencontré une erreur lors du traitement de la demande. Voir les journaux du serveur pour plus de détails

J'ai un problème simple.

J'ai créé un service de données WCF 5.6 dans Visual Studio 2013 et, dans son fichier *.svc.cs, la ligne modifiée

public class CustomdataService : DataService< /* TODO: put your data source class name here */ >

connecter mes entités

public class CustomdataService : DataService< SchedulerEntities >

Mais quand je veux voir le service dans le navigateur, il me donne l'erreur suivante

Erreur de demande

Le serveur a rencontré une erreur lors du traitement de la demande. Voir les journaux du serveur pour plus de détails.

Le framework d'entités n'est rien d'autre qu'une table unique ...

23
Kourosh

Il semble qu'Entity Framework 6 et WCF Data Services 5.6.0 ont besoin d'un fournisseur pour fonctionner ensemble. Pour en savoir plus, consultez Utilisation de WCF Data Services 5.6.0 avec Entity Framework 6+

Vous pouvez télécharger le fournisseur simplement en utilisant le gestionnaire de la console de package NuGet:

Install-Package Microsoft.OData.EntityFrameworkProvider -Pre

Sa version est alpha 2, donc à l'avenir, recherchez la version finale. cela a fonctionné pour moi cependant.

La dernière chose à faire est qu'au lieu d'utiliser DataService<T>, vous devez utiliser EntityFrameworkDataService<T>. T est le nom de vos entités.

23
Kourosh

L'erreur réelle peut être différente. Dans mon cas, j'ai reçu le même message d'erreur générale lors du démarrage avec la base de données AdventureWorks2012. 

Donc, le problème réel peut être vu en ajoutant un attribut à la classe de service comme décrit dans ici :

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class WcfDataServiceAW : EntityFrameworkDataService<AdventureWorks2012Entities> { ... }

J'espère que ça aide quelqu'un.

PS. Mon erreur est:

Le message d'exception est 'La propriété' SpatialLocation 'sur le type' Adresse 'est du type' Géographie 'qui n'est pas un type primitif pris en charge.'. 

23
Artyom

Selon ce message , vous devez changer le type hérité de CustomdataService.

Remplacez le type de base de votre DataService. Pour EF 5 ou inférieur, votre service de données doit hériter de DataService où T est un DbContext ou un ObjectContext. Pour EF 6 ou supérieur, votre service de données doit hériter d'EntityFrameworkDataService où T est un DbContext. Voir Quelle est la différence entre DataService et EntityFrameworkDataService ci-dessous pour plus de détails.

4
Jakub Kuszneruk

allez dans edmx, dans le diagramme, supprimez toutes les tables jusqu'à ce qu'il ne reste que la seule chose que vous voulez,.

KT Wong

0
Makrokode