Службы RIA: серверный процесс возвращает несколько объектов, но клиент показывает 1 дубликат объекта - PullRequest
1 голос
/ 17 сентября 2010

Я столкнулся с проблемой, когда 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.

Что мне не хватает (или что еще поможет кому-то это выяснить).

Спасибо!

1 Ответ

2 голосов
/ 20 сентября 2010

Да, проблема сейчас подтверждена.Я получил 3 объекта обратно из службы, все с идентификатором (также называемым значением «[Key]») 0.

...