#silverlight-4.0 #wcf-ria-services
#silverlight-4.0 #wcf-ria-services
Вопрос:
Я использую бизнес-приложение silverlight с использованием служб wcf ria.
в моем классе домена есть метод
public IQueryable<Employee> GetEmployees()
{
return this.ObjectContext.Employees;
}
этот метод возвращает все поля в таблице, и я могу привязать его к datagrid. таблица содержит поля идентификатора сотрудника, имени сотрудника и возраста.
Теперь я хочу взять только одно или два поля из этой таблицы.
я имею в виду, что мне нужны имя и возраст сотрудника, а не идентификатор. или мне нужно использовать имя сотрудника для привязки к выпадающему списку.
Как я могу это сделать?
Ответ №1:
(извините за мой плохой английский)
Если ваш метод возвращает тип IQueryable<Employee>, вы должны вернуть IQueryable<Employee> . Если вы хотите вернуть другой тип, вы можете сделать:
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 (только с именем и возрастом)