服务器遇到处理请求的错误。请参阅服务器日志以获取更多详

时间:2014-02-15 20:54:29

标签: wcf entity-framework

我有一个简单的问题。

我在visual studio 2013中创建了一个WCF数据服务5.6,并在其*.svc.cs文件中创建了修改后的行

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

连接我的实体

public class CustomdataService : DataService< SchedulerEntities >

但是当我想在浏览器中看到该服务时,它会给我以下错误

  

请求错误

     

服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志。

实体框架只不过是一张桌子......

4 个答案:

答案 0 :(得分:24)

实际错误可能不同。在我的情况下,我从AdventureWorks2012数据库开始时得到了相同的一般错误消息。

因此,可以通过在here中描述的服务类附加属性来看到实际问题:

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

希望它有所帮助。

PS。我的错误是:

  

例外消息是&#39;属性&#39; SpatialLocation&#39;在类型&#39;地址&#39;是地理类型&#39;这不是受支持的原始类型。&#39;。

答案 1 :(得分:23)

似乎Entity Framework 6和WCF Data Services 5.6.0需要一些提供商一起工作,请在Using WCF Data Services 5.6.0 with Entity Framework 6+上阅读更多内容。

您只需使用NuGet Package Console Manager下载提供程序:

Install-Package Microsoft.OData.EntityFrameworkProvider -Pre

它的版本是alpha 2,所以将来搜索最终版本。然而,它对我有用。

最后,您需要使用DataService<T>,而不是使用EntityFrameworkDataService<T>T是您实体的名称。

答案 2 :(得分:5)

根据this post,您必须更改CustomdataService的继承类型。

  

替换DataService的基本类型。对于EF 5或更低版本,您的数据服务应继承自DataService,其中T是DbContext或ObjectContext。对于EF 6或更高版本,您的数据服务应继承自EntityFrameworkDataService,其中T是DbContext。有关更多详细信息,请参阅下面的DataService和EntityFrameworkDataService之间的区别。

答案 3 :(得分:0)

转到edmx,在图中删除所有表,直到剩下所需的唯一表为止, 那应该可以,不能有所有的桌子,这就是我发现的,

KT Wong