Службы данных ADO.NET, LINQ - PullRequest
       7

Службы данных ADO.NET, LINQ

0 голосов
/ 19 марта 2009

У меня есть код C # для заполнения выпадающего списка в Silverlight, который отлично работает, за исключением случаев, когда есть дубликаты. Я думаю, что IEnumerable<Insurance.Claims> - это коллекция, она отфильтровывает дубликаты. Как бы я написал свой запрос LINQ, чтобы принимать дубликаты?

Мои данные для примера выглядят так:

Code => CodeName
Полевая инициатива ФГИ
Инициатива по статическим ресурсам НИИ
Совместная полевая инициатива JFI - результаты «перезаписаны»
Совместная Инициатива JFI

IEnumerable<Insurance.Claims> results;

// ADO.NET Data Service
var claim = (from c in DataEntities.Claims.Expand("Claimants").Expand("Policies")
             where c.Claim_Number == claimNumber
             select c);

DataServiceQuery<Insurance.Claims> dataServiceQuery =
    claim as DataServiceQuery<Insurance.Claims>;

dataServiceQuery.BeginExecute((asyncResult) =>
{
    results = dataServiceQuery.EndExecute(asyncResult);

    if (results == null)
    {
        // Error
    }
    else
    {
        // Code to populate Silverlight form
    }
});

Ответы [ 2 ]

0 голосов
/ 25 августа 2010

Вы можете добавить блок try-catch вокруг dataServiceQuery.EndExecute(asyncResult) для правильной обработки ошибок.

0 голосов
/ 06 апреля 2009

(Не уверен, что вы все еще боретесь с этим, но все равно ...)

Я почти уверен, что это не интерфейс IEnumerable, а фактическое выпадающее меню, которое вызывает такое поведение. Код используется в качестве ключа, и поэтому каждый раз, когда встречается один и тот же код, элемент перезаписывается.

Я не думаю, что вы можете изменить это, если вы не измените код или не используете другой идентификатор в качестве ключевого поля в раскрывающемся списке.

...