使用EF的WCF数据服务无法公开导入的函数

时间:2011-05-27 03:44:35

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

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

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

创建一个导入的函数并使用它似乎在概念上非常简单和直接,人们会认为它会起作用,因为Microsoft的逐步说明似乎建议:http://msdn.microsoft.com/en-us/library/cc716672.aspx#Y798(哪篇文章显示SP返回实体类型 - 我也试过这个,但它对我也不起作用。)

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

提前感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

config.SetServiceOperationAccessRule(“*”,ServiceOperationRights.All);

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

http://www.codegain.com/articles/wcf/miscellaneous/how-to-use-stored-procedure-in-wcf-data-service.aspx显示了该行代码。此外,当代码创建WCF数据服务时,代码中存在某些内容,注释掉。我们中的一些人喜欢删除我们没有使用的注释掉的代码,这似乎是无关紧要的 - 有时可能会过早地这样做。