我有一个运行带有EF模型的RIA服务的C#.NET Silverlight 3.0客户端。我正在尝试在客户端上设置一个高级搜索系统,以便用户可以说,我希望字段(属性)“Foo1”具有值“Bar1”等。
我想使用类似于this one的灵活,动态的方法。问题是我无法将IQueryable作为ServiceOperation参数或域服务参数传递。 I.E.这不起作用:
[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;
}
任何人都可以建议一种方法来使用这种方法或另一种(更好的)方法吗?目标是灵活的搜索控件,可以应用于任何单个特定实体类型。