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:
客户端查询
假设要查询年龄大于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
eXpress Persistent Objects (XPO)入门:数据查询相关推荐
- Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)
Mysql数据库入门-数据查询 Author:qyan.li Date:2022.2.21 文章目录 ``Mysql``数据库入门---数据查询 1. ``select``关键字 2.条件查询 3.排 ...
- 【Django博客开发教程】:数据查询 Article.objects.all()
进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...
- 怎么将查询到的数据表传到文本区_60秒上手Treelab (二):入门数据表
在上一篇"60秒上手Treelab"用户指南系列中,我们带领各位 Treelab 小伙伴们学习了 Treelab 中最基础的概念,工作台和文件夹的基础知识. Treelab:60秒 ...
- MS SQL入门基础:数据查询--SELECT语句
数据库是为更方便有效地管理信息而存在的人们,希望数据库可以随时提供所需要的数据信息.因此,对用户来说,数据查询是数据 库最重要的功能.本章将讲述数据查询的实现方法. 在数据库中,数据查询是通过SELE ...
- Excel 2010 VBA 入门 062 跨表数据查询
目录 示例 实现代码 跨表操作单元格 连续查找功能 示例 如图所示,该工作簿中建立"数据表"和"数据查询"表分别用于存储客户信息以及客户信息的查询.现希望在数据 ...
- 快速入门mybatis(查询、添加日志、插入)
快速入门mybatis(查询.添加日志.插入) 参考学习视频网址:https://www.bilibili.com/video/BV185411s7Ry?p=9&spm_id_from=pag ...
- MySQL中的数据查询
文章目录 1 简单查询 1.1 查询所有字段数据 1.2 查询指定字段数据 1.3 DISTINCT查询 1.4 IN查询 1.5 BETWEEN AND查询 1.6 LIKE模糊查询 1.7 对查询 ...
- Django 3.2.5博客开发教程:体验数据查询
进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...
- Web前端工作笔记002---json数据查询的方法_json查询大全,JsonSQL数据查询,jfunk数据查询
JAVA技术交流QQ群:170933152 json数据查询的方法 网上看到有一篇帖子,有8种json数据查询的方法,大家可以研究一下,我现在分享一下! JsonSQL JsonSQL实现了使用SQL ...
最新文章
- 嵌入式系统之温限使用
- linux ----- Vim进入和退出命令
- C++11中线程所有权转移分析
- php函数从数组中取出指定的数目,PHP数组函数
- html仿百度页面代码_百度优化需要注意的4点
- centos7创建asm磁盘_ASM环境下防止误将数据文件扩容到本地文件系统的方法
- Jmeter操作之跨线程组传递参数
- java中html在哪里找_java – 如何找出在我的servlet中推送哪个HTML按钮?
- 智能媒体管理(IMM) Python SDK DEMO
- KiCad 5 版本体验记录
- ”记录集为只读“怎么解决?请高手帮忙看看。感激不尽……
- docker以外的构建、运行、管理和分发容器候选项
- 简单好用又免费的百度翻译mac桌面端
- JavaScript之深浅拷贝
- ImportError: sys.meta_path is None, Python is likely shutting down 解决方案
- 开源项目搭建私有物联网智能家居接入天猫精灵控制
- CSDN 为什么无法上传付费资源?
- 【dht】dht简介以及使用nodejs查找dht网络学习笔记
- 190606-190610《跟秋叶学PPT》
- 如何使用Python从图片中提取文字?