2011-10-23 10 views
0

wcf riaサービスを使用して、Silverlightビジネスアプリケーションを使用しています。私のドメインクラスでwcf riaサービスでテーブルからフィールドを選択する方法

方法

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

は、この方法があるテーブルにアルにフィールドを返し、私はデータグリッドにバインドすることができます。従業員ID、従業員名、および年齢フィールドが含まれています。

ここでは、このテーブルから1つまたは2つのフィールドだけを取りたいと思っています。

私は、従業員の名前と年齢(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のリストを返しますが(名前と年齢のみ)

関連する問題