1

我有一个 WCF 数据服务设置,可以通过浏览器 url 访问表数据。

已经创建了一个简单的存储过程,它接受一个参数,然后通过连接从各种表中返回一些列 - 我该如何使用它?

4

1 回答 1

2

如果您使用的是实体框架模型,您可以这样做:

  1. 打开模型浏览器。
  2. 右击“EntityContainer:(name)”->“Function Imports”,选择“Add Function Imports...”。
  3. 选择存储过程,将“Complex”指定为“Returns a Collection Of”,单击“Get Column Information”并单击“Create New Complex Type”。在此处输入图像描述
  4. 添加config.SetServiceOperationAccessRule("SomeStoredProcedure", ServiceOperationRights.AllRead);到 SomeDataService.svc.cs 中的 InitializeService 方法。
  5. 现在向 SomeDataService.svc.cs 添加一个具有 WebGet 属性的方法,该方法返回您之前定义的复杂类型的 IQueryable:

    [WebGet]
    public IQueryable<SomeStoredProcedure_Result> SomeStoredProcedure()
    {
      return CurrentDataSource.SomeStoredProcedure(1).AsQueryable();
    }

上面的1是存储过程的参数。

现在可以在以下位置使用存储过程:

http://localhost/SomeDataService.svc/SomeStoredProcedure
于 2012-05-20T10:03:18.160 回答