2012-03-26 99 views
1

我只曾經處理與舊的方式之前,數據庫querys,你可以做這樣的事情:Web服務檢索方法

SELECT column_name(s) 
FROM table_name1 
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name 

但在過去的幾個星期,我已經明確WCF學習web服務和曝光wcf一樣寧靜。我想知道壽是,如果你把這樣的事情:

public class Student 
{ 
    /** 
    * Student matriculation number 
    */ 
    [DataMember(Name = "matric")] 
    public string Matric; 
    /** 
    * First name of the student 
    */ 
    [DataMember(Name = "firstname")] 
    public string FirstName; 
    /** 
    * Last name of the student 
    */ 
    [DataMember(Name = "lastname")] 
    public string LastName; 
    /** 
    * The programme that the student is on 
    */ 
    [DataMember(Name = "programme")] 
    public string Programme; 
} 

如果我這是另一種服務講團中,每個學生可以屬於一個組,我可能屬於一組學生專門搜索在使用xml進行存儲時,它將如何完成?

有沒有人知道一個很好的教程或上面的例子,您可以在其中加入兩種類型的數據成員或合同?

回答

1

REST風格的服務方法並不真正與您在SQL中連接表的方式相關聯。基本上你有4個CRUD操作 - 創建,檢索,更新和刪除。並且每個這些操作都對應於一個HTTP協議動詞。我認爲他們是 -

GET - 選擇 POST - UPDATE PUT - 插入 刪除 - 刪除

所以這取決於你的操作,你通過特定的HTTP動詞調用WCF服務,通過傳遞參數查詢串。例如。如果你想刪除一條記錄與ID = 5,你可以執行以下HTTP請求

DELETE /ServiceName.svc/Records/5

你真正需要你的情況是映射數據庫列到業務對象通過ORM軟件 - 例如Microsoft Entity Framework。我建議你從這裏開始 - http://msdn.microsoft.com/en-us/library/bb386876.aspx

+0

仍然不會解釋我如何獲得每個用戶加入的組?雖然非常好的評論,我會給實體框架工作一個bash! +1 – 2012-03-26 22:35:28

+1

您可以爲學生課程創建一個List 類型的屬性。然後,在學生類聲明的ontop上,添加以下屬性 - [KnownType(typeof(Group))] 這將在服務調用期間正確序列化/反序列化Group集合。檢查這是更多的信息 - http://msdn.microsoft.com/en-us/library/ms730167.aspx#Y800 – 2012-03-26 22:42:56

+0

謝謝,看起來從通常的數據庫東西變得複雜希望它會一直更簡單但那是我猜的回答! – 2012-03-26 22:47:12