【问题标题】:WCF Data Service with EF fails to expose imported functions带有 EF 的 WCF 数据服务无法公开导入的函数
【发布时间】:2011-05-27 03:44:34
【问题描述】:

(我也在使用 .NET 4.0 和 VS 2010。)

我创建了一个返回复杂类型的函数导入,如 http://msdn.microsoft.com/en-us/library/bb896231.aspx 中所述。函数导入和新的复杂类型出现在我的 .edmx 文件和 Designer.cs 文件中。但是,当我在浏览器中查看服务时,该功能没有出现,当我在客户端项目中添加或更新服务引用时,该功能也没有出现在那里 - 正如预期的那样,给定第一个结果。

创建一个导入的函数并使用它在概念上似乎非常简单明了,人们会认为它会起作用,正如微软的分步说明所暗示的那样:http://msdn.microsoft.com/en-us/library/cc716672.aspx#Y798(该文章显示了 SP 返回实体类型- 我也试过了,但它也不适合我)。

这篇博文展示了向 DataService 类添加了一个方法,微软的说明省略了该方法:http://www.codegain.com/articles/wcf/miscellaneous/how-to-use-stored-procedure-in-wcf-data-service.aspx 我尝试添加一个返回实体类型列表的方法和另一个返回复杂类型列表的方法,但仍然没有成功.我仍然无法直接通过浏览器或通过服务引用从客户端应用程序访问这些功能。

提前感谢您对此提供的任何帮助。

【问题讨论】:

  • 您是否允许访问操作 (SetServiceOperationAccessRule)?

标签: entity-framework function stored-procedures import wcf-data-services


【解决方案1】:

config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);

MS 最好在演练中添加一个注释,说明上面的代码必须存在。 (显式启用每个操作可能比使用“*”更好。)

http://www.codegain.com/articles/wcf/miscellaneous/how-to-use-stored-procedure-in-wcf-data-service.aspx 显示了那行代码。此外,在创建 WCF 数据服务时,代码中有一些东西被注释掉了。我们中的一些人喜欢删除我们不使用且似乎无关紧要的已注释掉的代码 - 有时这样做可能有点过早。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多