2011-10-23 5 views
0

wcf ria 서비스를 사용하는 실버 라이트 비즈니스 응용 프로그램을 사용하고 있습니다. 내 도메인 클래스의wcf ria services에서 테이블의 필드를 선택하는 방법

는 방법

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

이 방법이 표에서 알에게 필드를 반환하고 난 데이터 그리드에 바인딩 할 수 있습니다. 표에는 직원 ID, 직원 이름 및 연령 필드가 포함됩니다.

이제이 테이블에서 하나 또는 두 개의 필드 만 가져 오려고합니다.

나는이 ID가 아니라 직원 이름과 나이가 필요함을 의미합니다. 또는 콤보 상자에 바인딩하기 위해 직원 이름을 사용해야합니다.

어떻게하면됩니까? (내 나쁜 영어 죄송합니다)

답변

1

하면되는 메소드의 반환 값의 형태가 된 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의 목록을 반환합니다 (이름 및 나이 전용)

관련 문제