2010-12-06 2 views
0

Я работаю над приложением Silverlight, используя службы RIA с Entities Framework.RIA Services получить список объектов

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

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

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

Я надеюсь, что это имеет смысл ....

ответ

0

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

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

Но если вы запрашиваете db для получения всех сотрудников, то у вас уже есть надзорные органы на стороне клиента. Просто создайте отдельную коллекцию, в которой содержатся только супервизоры, и привяжите 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)); 
    } 
}