1

クライアントのクエリにサブエンティティを含める可能性はありますか? データベースにアクセスするために、RIA サービス、DomainService、およびその背後にある EntityFramework を使用して、Silverlight アプリケーションに取り組んでいます。データの DomainService を呼び出すときに関連付けられたエンティティを取得するには、DomainService のメタデータを [Include] 属性で変更し、DomainService で Include() メソッドを使用する必要があります。 (例: ObjectContext.Parent.Include("Child"))

ただし、 DomainService の各エンティティに対して、関連付けられたデータのさまざまな組み合わせをすべて取得するために大量のメソッドが必要になるような気がます関連データなど...

一部の RIA チュートリアルによると、式ツリーによって提供される機能を使用して、クライアント側でクエリを変更することが推奨されています。DomainService の get メソッドの代わりにクライアントに含める方法はありますか? DomanServices を使用する場合、これはよくある問題だと思いますか?!

調査中に、同様の質問に出くわしましたが、答えがなく、誰かがそれは不可能だと言った別のスレッドがありました. しかし、その回答は 2009 年 4 月頃に投稿されたもので、それ以来、開発には多くの変更が加えられています。

ありがとう

4

1 に答える 1

0

サーバーでメソッドを照会できます。サーバーに次のコードがあるとします。

public IQueryable<Employee> GetEmployeesSorted()
{
    return from Employee emp in ObjectContext.Employees
    orderby emp.Title, emp.HireDate
    select emp;
}

あなたはクライアントでこのように使うことができます

EmployeeContext context = new EmployeeContext();

    EntityQuery<Employee> query =
        from emp in context.GetEmployeesSortedQuery()
        where emp.SalariedFlag == true
        select emp;

これがお役に立てば幸いです。

于 2010-12-22T14:23:26.507 に答える