0
我有實體框架TaskTracker.edmx 有StoredProcedure的裝getEmployees和使用複雜類型在TaskTrackerDataService.cs的StoredProcedure返回複雜類型,數據服務,實體框架和WCF
public static void InitializeService(DataServiceConfiguration config)
{
// Grant only the rights needed to support the client application.
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
[WebGet, WebInvoke(ResponseFormat = WebMessageFormat.Xml)]
public IQueryable<TaskTracker_EDM.EmployeeView> GetEmployees()
{
TaskTracker_EDM.TaskTrackerEntities ctx = new TaskTracker_EDM.TaskTrackerEntities();
return ctx.GetEmployees(string.Empty).AsQueryable();
}
返回數據
在的客戶端站點[控制檯應用程序]
var emps = ctxDSvc.Execute<EmployeeView>(new Uri("http://localhost:2402/TaskTrackerDataService.svc/GetEmployees", UriKind.RelativeOrAbsolute));
foreach (EmployeeView e in emps)
{
Console.WriteLine(string.Format("ID: {0} - {1} ", e.EmployeeID, e.Name));
}
foreach不工作,emps中沒有數據。
總是emps中有
+ emps {System.Data.Services.Client.QueryOperationResponse<TaskTrackerConsoleTest.TaskTrackerDataService.EmployeeView>}
System.Collections.Generic.IEnumerable<TaskTrackerConsoleTest.TaskTrackerDataService.EmployeeView> {System.Data.Services.Client.QueryOperationResponse<TaskTrackerConsoleTest.TaskTrackerDataService.EmployeeView>}
我讀的OData不支持複雜類型。[他們有沒有解決這個問題],還是有其他的解決方案。
有人說,用一種Xml來Linq類的方法來獲得複雜類型。 [任何幫助]
任何幫助或建議。