2012-05-20 99 views
1

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

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

回答

2

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

  1. 打开模型浏览器。
  2. 右键单击“EntityContainer :(名称)” - >“功能导入”并选择“添加功能导入...”。
  3. 选择存储过程,将“Complex”指定为“返回集合”,单击“获取列信息”并单击“创建新复合类型”。 enter image description here
  4. config.SetServiceOperationAccessRule("SomeStoredProcedure", ServiceOperationRights.AllRead);添加到SomeDataService.svc.cs中的InitializeService方法。
  5. 现在添加与WebGet属性的方法,以一个返回复杂类型的一个IQueryable SomeDataService.svc.cs前面定义:

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

上述1是对存储过程的参数。

存储过程现在可以在消耗:

http://localhost/SomeDataService.svc/SomeStoredProcedure 
+0

@ Martin4Andersen是否有SOF或其他地方的一个例子,用于调用存储过程的更新或删除? – FMFF