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

来源:互联网 发布:安和日达天窗知乎 编辑:程序博客网 时间:2024/06/05 22:49

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
privatevoid Form1_Load(objectsender, EventArgs e) {
// ...
xpCollection1.Criteria = criteria;
}

 

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

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

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

客户端查询

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

1
2
3
4
5
privatevoid Form1_Load(objectsender, 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 0
原创粉丝点击