2013-11-25 27 views
0

存儲過程:WCF數據服務的存儲過程返回奇怪的字符串值

ALTER PROCEDURE [dbo].[TestDataSP] 
AS 
BEGIN 
    SELECT FirstName 
    FROM Employees 
    WHERE EmployeeID = 7 
END 

TaskTrackerDataService.cs

[WebGet] 
public String GetEmployeeName() 
{ 
    TaskTracker_EDM.TaskTrackerEntities ctx = new TaskTracker_EDM.TaskTrackerEntities(); 
    return ctx.TestDataSP().FirstOrDefault(); 
} 

我有一個存儲過程,我可以從網頁調用它

http:localhost:2402/TaskTrackerDataService.svc/GetEmployeeName 

它將返回員工姓名

<GetEmployeeName xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">Keko88</GetEmployeeName> 

當我嘗試從我的WPF項目調用存儲過程

TaskTrackerDataService.TaskTrackerEntities ctxDSvc = new TaskTrackerDataService.TaskTrackerEntities(new Uri("http:localhost:2402/TaskTrackerDataService.svc")); 

String emps1 = ctxDSvc.Execute<String>(new Uri("http:localhost:2402/TaskTrackerDataService.svc/GetEmployeeName")).ToString(); 

Console.WriteLine(string.Format("ID: {0} ==== ==== ==== ", emps1)); 

它總是返回

"System.Data.Services.Client.QueryOperationResponse`1[System.String]" 

任何幫助,請

回答

0

錯誤是 總是返回「 System.Data.Services.Client.QueryOperationResponse`1 [System.String]「

所以加單,它會返回字符串結果正確

字符串emps1 = ctxDSvc.Execute(新的URI( 「HTTP:本地主機:2402/TaskTrackerDataService.svc/GetEmployeeName」))。單();

錯誤的是 String emps1 = ctxDSvc.Execute(new Uri(「http:localhost:2402/TaskTrackerDataService.svc/GetEmployeeName」))。ToString();