Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf 服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志_Wcf_Entity Framework - Fatal编程技术网

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

Wcf 服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志,wcf,entity-framework,Wcf,Entity Framework,我有一个简单的问题 我在visual studio 2013中创建了一个WCF数据服务5.6,并在其*.svc.cs文件中修改了行 public class CustomdataService : DataService< /* TODO: put your data source class name here */ > 公共类CustomdataService:DataService 连接我的实体 public class CustomdataService : DataSe

我有一个简单的问题

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

public class CustomdataService : DataService< /* TODO: put your data source class name here */ >
公共类CustomdataService:DataService
连接我的实体

public class CustomdataService : DataService< SchedulerEntities >
公共类CustomdataService:DataService
但当我想在浏览器中看到服务时,它会给我以下错误

请求错误

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

实体框架只是一个表…

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

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


EntityFramework6和WCFdataServices5.6.0似乎需要一些提供商来协作,请阅读更多

您只需使用NuGet软件包控制台管理器即可下载提供程序:

Install-Package Microsoft.OData.EntityFrameworkProvider -Pre
它的版本是alpha 2,所以在将来,搜索最终版本。然而,这对我很有效


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

实际错误可能不同。在我的例子中,我在开始使用AdventureWorks2012数据库时收到了相同的一般错误消息

因此,可以通过向服务类附加一个属性来查看实际问题,如所述:

[服务行为(IncludeExceptionDetailInFaults=true)]
公共类WcfDataServiceAW:EntityFrameworkDataService{…}
希望它能帮助别人

我的错误是:

异常消息为“类型“Address”上的属性“SpatialAllocation”属于“Geography”类型,该类型不是受支持的基元类型。”


转到edmx,在图中删除所有表,直到只剩下一个表, 那应该没问题,不能有所有的桌子,这是我发现的


KT Wong

我已经找到了答案,但是我要到8小时后才能发布。解决方案是什么,因为我有同样的问题?谢谢分享答案。截至今天(2014年3月15日),EF6 WCF数据服务似乎仍处于试验阶段。在更新到EF6之后,我遇到了同样的问题,我刚刚通过源代码控制将项目恢复到以前的版本,从而回滚到EF5。现在一切都好了。真是松了一口气@为什么要自寻烦恼?我找到了更好的方法来使用wcf客户端服务。。。使用Asp.NETWebAPI,非常好。它的稳定版本适用于odata版本3,而出色的预发布工作适用于odata版本4和web api 2.2。不要错过Entity Framework 6.0.2和预发行版6.1.0的强大功能。他们很棒。还有:您可以在服务器端使用VisualStudio2013在web api中提供的asych方法。祝你好运,不要对微软绝望。我忘了什么。Asp.NETWebAPI的速度也更快,微软尽了最大的努力使其更加出色,而且发布周期短(对我们有好处)。)谢谢你的提示。我刚刚开始使用WebAPI,并发现它非常棒。这是一个由许多客户端(移动应用程序)使用WCF数据服务的项目,不幸的是,它需要维护一段时间。在收到相同的错误后,我偶然发现了这个线程。不幸的是,我刚刚开始使用OData,对EF5/6的细微差别、数据服务发布的功能等不太熟悉。因此,在学习了教程并安装了大量“东西”之后,我现在陷入了一堆预发布的、带外的、不受支持的软件中。作为一名长期开发人员,我熟悉我们需要忍受的所有范式和语法变化,但整个情况绝对令人遗憾。我只需要一些可靠的文档和软件,这样我就可以继续前进。对不起,你的咆哮。但到目前为止,这是我的答案。这应该是公认的答案,因为有各种潜在的例外和原因。在开发/调试期间添加此属性是一条可行之路。
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class WcfDataServiceAW : EntityFrameworkDataService<AdventureWorks2012Entities> { ... }