RIA Services获取实体列表

时间:2010-12-06 22:23:38

标签: silverlight entity-framework service ria

我正在使用实体框架的RIA服务开发Silverlight应用程序。

请原谅我,我对Ria服务相当新,但是如何在不进行加载操作的情况下从db获取对象列表?

示例:我有一个Employees表,在此表中有一个IsSupervisor标志。我想显示一个网格中的员工列表,其中一个组合框单元绑定到一个主管列表(员工,其中isSupervisor = true)。

我遇到的问题是,当主管列表返回时,员工列表仅显示主管。

我希望这是有道理的......

1 个答案:

答案 0 :(得分:0)

如果没有看到你的代码就很难说,因为RIA Services非常灵活。

听起来您正在将DataGrid绑定到DomainContext的Employee EntitySet,然后对服务器进行两次调用,一次调用以获取所有员工,然后调用一名来获取主管。如果是这种情况,那么您的第二个呼叫可以消灭第一个呼叫(取决于您如何设置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));
    }
}