0
在我的MVVM Silverlight應用程序中,我需要調用域服務函數以從存儲過程中獲取sql查詢結果和一些'OUTPUT'數據。我弄清楚如何獲取域服務端的數據,但是在客戶端,我不知道如何從函數中獲取'OUTPUT'參數,因爲Silverlight是異步調用。以下是我在域服務上的功能,我需要從異步調用中獲取兩個返回的OUTPUT參數。獲取RIA WCF域服務返回'OUTPUT'參數
感謝您的任何幫助。
CK
[Invoke]
public IEnumerable<sp_Inquiry_Result> GetResultAsync(string ID,
out string sDescription,
out float fvariance)
{
// Declare ObjectParameter object to store output param
ObjectParameter WorkcenterDescription = new ObjectParameter("@Description", typeof(string));
ObjectParameter Variance = new ObjectParameter("@Variance", typeof(float));
// Call stored procedure, passing in Object Parameter
ObjectResult <sp_WorkcenterCostInquiry_Result> o = this.ObjectContext.sp_Inquiry(
workcenterID,
Variance);
// ObjectParameter will have output param value from stored proc
sDescription = Convert.ToString(Description.Value);
fvariance = (float)Convert.ToDouble(Variance.Value);
return o.ToList().AsEnumerable();
}
非常感謝你的偉大的答案。現在我嘗試使用「VS2010」來添加函數導入,其結果是創建了列信息複雜集合數據類型,但是我沒有在存儲的proc列信息列表中看到「OUTPUT」參數。返回的查詢結果是一個列表,OUTPUT參數是單個字符串和一個浮點值。你知道如何將這兩個參數添加到vs2010 ria wcf web項目的EDM模型中嗎?再次感謝。 –
不要試圖將它們添加到EDM模型中,除非它們實際上是數據的一部分。創建您自己的POCO和您自己的RIA方法,返回1個條目的IEnumerable。 –