如何从wcf ria服务中的表中选择字段

时间:2011-10-23 07:01:58

标签: silverlight-4.0 wcf-ria-services

我使用的是使用wcf ria服务的Silverlight业务应用程序。

在我的域类中有一个方法

 public IQueryable<Employee> GetEmployees()
    {
        return this.ObjectContext.Employees;
    }

此方法返回表中的字段,我可以将其绑定到datagrid。表包含员工ID,员工姓名和年龄字段。

现在我想从这个表中只拿一个或两个字段。

我的意思是我需要员工姓名和年龄,而不是身份证。 或者我需要使用员工姓名绑定到组合框。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

(抱歉我的英语不好)

如果您的方法返回类型是IQueryable&lt; Employee&gt;你必须返回IQueryable&lt; Employee&gt;。 如果你想返回其他类型,你可以这样做:

 public class EmployeeDTO
 {
    [Key]
    public int Id { get; set; } //<-- you need a key for this to work
    public string Name { get; set; }
    public int Age { get; set; }
 }

然后创建一个查询方法:

public IQueryable<EmployeeDTO> GetEmployeeDTO()
{
    return this.ObjectContext.Employees.Select(e=> new EmployeeDTO { Name = e.Name, Age = e.Age});
}

现在您可以在客户端加载查询,它将返回EmployeeDTO列表(仅包含姓名和年龄)