eXpress Persistent Objects (XPO)入门:数据查询

DevExpress旗下的 eXpress Persistent Objects(XPO) 是专为.NET平台提供的高级对象关系映射工具,旨在让开发人员在更高的抽象层级管理他们的数据。接下来小编将为大家奉送上一系列的入门教程,让XPO初学者能快速上手这一工具。

eXpress Persistent Objects可通过指定逻辑表达式作为数据筛选器,今天这篇教程就为大家介绍如何创建数据查询条件。

制定条件

XPO为筛选条件提供了多个选项。比如,相同的标准代表逻辑表达式 (Age > 30)可以用两个不同的符号进行表示。代码如下:

创建一个 BinaryOperator。将适当的运算对象作为运算器结构的参数:

1
2
3
using DevExpress.Data.Filtering;
 
CriteriaOperator criteria = new BinaryOperator( "Age" , 30, BinaryOperatorType.Greater);

条件还可以用可读字符串进行表示,但这个字符串必须使用CriteriaOperator.Parse静态方法:

1
CriteriaOperator criteria = CriteriaOperator.Parse( "Age > 30" );

你完全可以根据自己的喜好选择适合的方法。XPO提供各种条件操作符,可以让复杂的逻辑表达式变得更加简单。每个当前数据存储存在两个属性:

  • Criteria - 指定条件用于数据存储端的对象筛选
  • Filter - 指定客户端的对象筛选条件

服务器端条件

如果想检索年龄大于30以上的人,可以将条件部署到 XPCollection's XPBaseCollection.Criteria 属性:

1
2
3
4
private void Form1_Load( object sender, EventArgs e) {
// ...
xpCollection1.Criteria = criteria;
}

 

还有种方法是将条件部署到集合的构造函数,这样就不用设置XPBaseCollection.Criteria属性了。

在设计时,你可以用一个非常方便的编辑器去可视化编辑条件表达式。启用这个编辑器是在XpCollection组件上单击省略号按钮,然后找到Properties窗口中的Criteria:

eXpress Persistent Objects,XPO,对象关系映射

客户端查询

假设要查询年龄大于30但小于40的人,这里就要创建一个新的条件表达式然后将它部署到集合的 XPBaseCollection.Filter 属性:

1
2
3
4
5
private void Form1_Load( object sender, EventArgs e) {
 
CriteriaOperator filter = CriteriaOperator.Parse( "Age > 30 AND Age < 40" );
xpCollection1.Filter = filter;
}

由于是客户端查询,初始的完整数据集可通过设置 XPBaseCollection.Filter 属性为null 的方式存储起来,而不需要访问数据库。

转自慧都控件http://www.evget.com/article/2014/1/15/20412.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值