EFモデルでRIAサービスを実行しているC#.NETSilverlight3.0クライアントがあります。クライアントに高度な検索システムを設定して、ユーザーが「フィールド(プロパティ)「Foo1」に値「Bar1」などを付けたい」と言うことができるようにしようとしています。
これに似た柔軟で動的なアプローチを使用したいと思います。問題は、IQueryableをServiceOperationパラメーターまたはドメインサービスパラメーターとして渡すことができないことです。IEこれは機能しません:
[ServiceOperation()]
public int GetFooCount(string category, IQueryable<Foo> search)
{
int fooCount;
if (search != null)
{
IQueryable<Foo> filteredFooSet = this.Context.FooSet.Intersect(search);
fooCount = (from foo in filteredFooSet
where foo.Category == category
select foo).Count();
}
else
{
fooCount = (from foo in this.Context.ContactSet
where foo.Category == category
select foo).Count();
}
return fooCount;
}
このアプローチを機能させる方法または代替の(より良い)アプローチのいずれかを誰かが提案できますか?目的は、単一の特定のエンティティタイプよりも多くに適用できる柔軟な検索コントロールです。