Я столкнулся с проблемой, когда RIA Services возвращает 3 сущности с сервера (я проверил во время отладки серверного процесса и подтвердил через Fiddler, что служба находится в лице, возвращающем 3 сущности.
Я использую MVVM, поэтому я вызываю Load на стороне клиента, используя вспомогательную функцию, которую я позаимствовал из примера Шона Вильдермута: Вот код:
// Generic query handling
protected void PerformQuery<T>(DomainContext dc, string name, EntityQuery<T> qry, EventHandler<EntityResultsArgs<T>> evt) where T : Entity
{
dc.Load<T>(qry,(r) =>
{
if (evt != null)
{
try
{
if (r.HasError)
{
evt(this, new EntityResultsArgs<T>(r.Error));
}
else if (r.Entities.Count() > 0)
{
evt(this, new EntityResultsArgs<T>(r.Entities));
}
}
catch (Exception ex)
{
evt(this, new EntityResultsArgs<T>(ex));
}
}
}, null);
}
EntityResultsArgs - простой класс, который предоставляет свойство исключенияназывается Ошибка) и свойство Results (содержащее результаты, если мы их получили).
На сервере мы отображаем результат с помощью AutoMapper на наши открытые доменные классы, и этот конкретный вызов службы возвращает IEnumerable.
Что мне не хватает (или что еще поможет кому-то это выяснить).
Спасибо!