寻找.NET(Silverlight)库来表示数据过滤器表达式

时间:2011-06-02 19:45:53

标签: .net silverlight

有一种常见的情况,客户端使用某种过滤器从服务器获取数据。

我很想知道哪些.NET(Silverlight)库可以帮助代表这些过滤器。为了真正有用,过滤器对象模型必须具备以下特性:

  • 可以轻松(可)序列化为跨平台的东西,例如XML / JSON / plain string。例如,linq表达式不是一个很好的例子,因为它们不容易序列化。有很多方法可以将linq表达式转换为XML,但我不能轻易地将它们称为。
  • 易于遍历,以便将过滤器转换为适合数据访问的内容。例如,能够将过滤器转换为linq表达式意味着它可以被输入任何支持linq表达式的DAL。
  • 支持增量构建和修改。回到linq表达式,它们支持增量构造,但不支持修改。
  • 一个非常好的附录将是一个完整的准备推出Silverlight或基于HTML的UI组件,让用户创建这样的过滤器

感谢。

1 个答案:

答案 0 :(得分:3)

WCF RIA Services将为您提供开箱即用的服务。您将数据集合公开为IQueryable,并且可以在客户端上构建查询。执行查询时,整个查询表达式将被发送回服务器,执行并返回数据。

类似的另一个选择是WCF数据服务,它实质上使用查询字符串来表示您对RESTful数据集的查询;然后在服务器端将此查询转换为IQueryable,然后在基础数据存储上执行,例如实体框架数据库。例如查询例如返回前十大产品看起来像这样:

http://localhost/myservice.svc/Products/ $顶= 10

查询基于OData标准。 WCF数据服务可以将数据公开为xml或json。