РИА Сервисс получить список лиц - PullRequest
0 голосов
/ 07 декабря 2010

Я работаю над приложением Silverlight, использующим службы RIA с Entities Framework.

Простите, я довольно новичок в службах Ria, но как мне получить список объектов из БД безделать операцию загрузки?

Пример: у меня есть таблица Employees, в этой таблице есть флаг IsSupervisor.Я хочу показать список сотрудников в сетке с ячейкой комбинированного списка, связанной со списком руководителей (сотрудников, где isSupervisor = true).

Проблема, с которой я столкнулся, заключается в том, что при возвращении списка руководителей в списке сотрудников отображаются только руководители.

Надеюсь, это имеет смысл ....

1 Ответ

0 голосов
/ 07 декабря 2010

Трудно сказать, не видя ваш код, поскольку RIA Services довольно чертовски гибки.

Похоже, что вы привязываете DataGrid к EntitySet сотрудника вашего DomainContext, а затем делаете два вызова на сервер, один для получения всех сотрудников, а другой - для руководителей. Если это так, тогда ваш второй вызов может стереть первый (зависит от того, как установлен LoadBehavior).

Но если вы запрашиваете у базы данных всех сотрудников, у вас уже есть супервизоры на стороне клиента. Просто создайте отдельную коллекцию, которая содержит только супервизоры, и привяжите ComboBox к этому. Что-то вроде:

private void OnEmployeesLoaded(LoadOperation<Employee> loadOp) {
    if(!loadOp.HasError) {
        Employees = new List<Employee>(loadOp.Entities);
        Supervisors = new List<Employee>(loadOp.Entities.Where(e => e.IsSupervisor));
    }
}
...