XPO 第三方控件学习(DevExpress Persistent Object )系列---查询
使用条件对象:
比如: Freight < 10M
Dim orders As New XPCollection(<Gettype>(Order), _
New BinaryOperator("Freight", 10D, BinaryOperatorType.Less))
这里使用了指定持久类类型的集合类XPCollection对象。这里并不意味着只能在一个表中查。如果这 个持久类和其他类有关联关系的话,那么条件对象可以包含对关联类的属性条件。也就是实现了多表查询。下面的组合查询中的Address就是Customer的一个聚集类。
复杂一点的条件使用GroupOperator。
比如:BirthDate < 01/02/1960 AND Address.Street = ''10'th Avenue''
Dim criteria As New GroupOperator
criteria.Operands.Add(New BinaryOperator("BirthDate", New DateTime(1960, 1, 2), BinaryOperatorType.Less))
criteria.Operands.Add(New BinaryOperator("Address.Street", "10'th Avenue"))
'...
Dim xpc As New XPCollection(GetType(Customer), criteria)
以前也打算在项目中做一个类似此功能的组件,当时的出发点是想做一个和具体数据库sql语法无关的条件对象,用来代理sql条件语句的生成。后来由于项目成本原因作罢。现在终于有一个现成的了。
作者:johnny
出处:http://www.cnblogs.com/sunjunlin
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。