我使用的是使用wcf ria服务的Silverlight业务应用程序。
在我的域类中有一个方法
public IQueryable<Employee> GetEmployees()
{
return this.ObjectContext.Employees;
}
此方法返回表中的字段,我可以将其绑定到datagrid。表包含员工ID,员工姓名和年龄字段。
现在我想从这个表中只拿一个或两个字段。
我的意思是我需要员工姓名和年龄,而不是身份证。 或者我需要使用员工姓名绑定到组合框。
我该怎么做?
答案 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列表(仅包含姓名和年龄)