2012-05-20 96 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