Ваш код отправки и получения выглядит совершенно корректно. Если серверная сторона правильно возвращает объекты в вашем тестовом коде, значит, что-то пошло не так.Я пробовал несколько вариантов и не могу получить похожий код, который не может когда-либо .
Кроме того, у вас есть 3 варианта доступа к коллекции, возвращенной службами RIA:
1.Используйте конкретную коллекцию в контексте (как вы сделали)
EntitySet<MenuHeader> menuHeaders = employeeContext.MenuHeaders;
... // On Completed event
var menuHeaderItems = from mh in menuHeaders
select mh.MenuHeaderItems;
2.Используйте операцию загрузки свойства Entities
EmployeeContext employeeContext = new EmployeeContext();
var LoadOp = employeeContext.Load(employeeContext.GetMenuHeadersQuery());
// Bind to LoadOp.Entities
3.Используйте параметр обратного вызова Load ()
EmployeeContext employeeContext = new EmployeeContext();
var LoadOp = employeeContext.Load(employeeContext.GetMenuHeadersQuery(),
(cb) =>
{
// do something with cb.Entities here
},
false);
Я предпочитаю версию 2 для отложенного связывания и 3 для любых пользовательских ответов (просто для того, чтобы не пропустить строки кода).