Как выбрать поля из таблицы в сервисах wcf ria - PullRequest
0 голосов
/ 23 октября 2011

Я использую бизнес-приложение silverlight, использующее службы wcf ria.

в моем доменном классе есть метод

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

, этот метод возвращает все поля в таблице, и я могусвяжите это с датагридом.таблица содержит идентификатор сотрудника, имя сотрудника и поля возраста.

Теперь я хочу взять только одно или два поля из этой таблицы.

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

Как я могу это сделать?

1 Ответ

1 голос
/ 24 октября 2011

(извините за мой плохой английский)

Если ваш метод возвращает тип IQueryable , вы должны вернуть IQueryable . Если вы хотите вернуть другой тип, вы можете сделать:

 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 (только с именем и возрастом)

...