Я надеюсь, что просто неправильно использую API, но по какой-то причине, когда я запрашиваю свой сервис oData из wp7, я получаю только последнюю запись в последовательности. Я уверен, что сервис работает просто отлично, так как я могу просто посетить URL-адрес запроса oData в браузере и получить правильные результаты. Однако следующий метод отображает только один элемент в списке.
Я основал следующий код из примера в этом сообщении в блоге: http://chriskoenig.net/2010/10/30/odata-v2-and-windows-phone-7/
Наблюдаемая коллекция, которая передается, является той, которая связана со списком wpf.
private static void LoadRuntimeData(ObservableCollection<CategoryItem> items)
{
var catalog = GetCatalog();
var queryUri = new Uri("/Categories?&$orderby=Name", UriKind.Relative);
var categories = new DataServiceCollection<Category>(catalog);
var queryHandle = App.ViewModel.StartQuerying();
categories.LoadAsync(queryUri);
categories.LoadCompleted += (e, c) =>
{
using (queryHandle)
{
var serverItems = categories.Select(k => new CategoryItem
{
Name = k.Name,
Description = k.Description
});
items.Clear();
foreach (var item in serverItems)
{
items.Add(item);
}
}
};
}
Любые советы будут с благодарностью.
Редактировать: согласно комментарию ниже, я загрузил исходный код, в котором воспроизводится эта проблема: http://khanviewer.codeplex.com/