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 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/sunjunlin/p/1678665.html