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

标签 .net silverlight

<分区>

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

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

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

谢谢。

最佳答案

WCF RIA 服务将为您完成开箱即用的工作。您将数据集合公开为 IQueryable,并且可以在客户端基于这些集合编写查询。当您执行查询时,整个查询表达式被发送回服务器,执行并返回数据。

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

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

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

关于.net - 寻找 .NET (Silverlight) 库来表示数据过滤器表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6219559/

相关文章:

c# - 如何根据 "is-subset"条件有效地修剪列表?

.net - 将 SharePoint 2007 迁移到 2010

silverlight - WCF 数据服务中的级联删除

wpf - 如何在字符串索引器数据绑定(bind)上实现 IDataErrorInfo?

c# - 多线程和 ProgressBar

.net - AMQP 生产准备好了吗?

Silverlight 将 bool 绑定(bind)到图像源

silverlight - 使用 Moq 在 Silverlight WCF 代理中模拟异步调用

.net - WPF - 控制半透明层之间的混合

c# - 使用 Type 对象将 Object 类型的对象转换为另一种类型