2012-07-31 213 views
0

我正在使用WCF數據服務。我在我的服務中有一個函數,它在SQL DB的表中添加一條記錄並返回插入記錄的ID。WCF數據服務ODATA

I用於將要插入參數形式的值傳遞給函數。

對於實例

public int Add(string Name, string Password) 
{ 
     // Here I will Add the record and return the ID of the record added in DB 
} 

,但我不想做傳遞參數的形式的這種方式。

我想直接傳遞對象。

public int Add(User user) 
{ 
    // Here I will Add the record and return the ID of the record added in DB 
} 

我在寫服務功能類似上面,我的服務項目是全成。當我更新我的服務提示時,我收到錯誤

它說只支持原始類型。有沒有什麼解決 這個問題。

感謝您的時間回答我的問題。

+0

謝謝阿南德將開始這樣做。其實我不熟悉使用堆棧溢出。謝謝你的建議。我會從現在開始做這件事.. – ssmsnet 2012-07-31 11:32:26

+0

沒問題。不用謝 ! – Anand 2012-07-31 11:33:33

回答

1

WCF數據服務(和OData協議)僅支持將原始值作爲參數傳遞給服務操作。

向實體集中添加新實體的OData方式是將有效負載中的實體的POST發送到實體集URL。在WCF DS服務中,這將被轉換爲您的上下文中對IUpdatable接口的多個調用。

+0

嗨,感謝您的回答。你能解釋一下,還是有鏈接分享? – ssmsnet 2012-08-01 09:13:53

+0

不確定你要求的是什麼...希望這會有所幫助:http://www.odata.org/documentation/operations#CreatingnewEntries。可能是這樣的:http://msdn.microsoft.com/en-us/library/dd723653.aspx – 2012-08-01 10:15:37

+0

對不起。我想通過直接將實體的對象作爲參數傳遞給服務操作來將實體添加到服務中的實體集。從您的答案和研發位置,我發現只有作爲服務操作的參數支持原生類型。 – ssmsnet 2012-08-02 09:54:08

相關問題