存储过程和WCF数据服务

时间:2012-05-20 09:01:26

标签: sql wcf

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

创建了一个简单的Stored Proc,它接受一个参数,然后通过Joins从各个表中返回一些列 - 我该如何使用它?

1 个答案:

答案 0 :(得分:2)

如果您使用的是Entity Framework模型,则可以执行此操作:

  1. 打开模型浏览器。
  2. 右键单击“EntityContainer :( name)” - > “功能导入”并选择“添加功能导入...”。
  3. 选择存储过程,将“Complex”指定为“返回集合”,单击“获取列信息”,然后单击“创建新的复杂类型”。 enter image description here
  4. config.SetServiceOperationAccessRule("SomeStoredProcedure", ServiceOperationRights.AllRead);添加到SomeDataService.svc.cs中的InitializeService方法。
  5. 现在将一个带有WebGet属性的方法添加到SomeDataService.svc.cs,它返回您之前定义的复杂类型的IQueryable:
  6.     [WebGet]
        public IQueryable<SomeStoredProcedure_Result> SomeStoredProcedure()
        {
          return CurrentDataSource.SomeStoredProcedure(1).AsQueryable();
        }
    

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

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

    http://localhost/SomeDataService.svc/SomeStoredProcedure