PWMIS.Core/Entity/OQL.cs
(开头部分) 87KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
*
* 有关OQL的概念,参考下面的文章内容:
* 《ORM查询语言(OQL)简介--概念篇》 http://www.cnblogs.com/bluedoctor/archive/2012/10/06/2712699.html
*
* 版本说明:OQL ver 5.0
* 当前版本是在 4.X的版本提供的功能基础上面的重构,新增了实体类内连接支持,Insert,InserForm支持,
* 并完全重写了内部实现,优化了代码体系,使得扩展性更好。
*
* 注意:当前版本废除了OQL1的功能定义,与原有版本的OQL1已经完全不同,但仍可以使用OQL.Condition 对象,
* 使用方法不变。另外,OQL的几个构造函数已经过时,具体看源码说明。
*
*/
#region 旧版本文件头注释信息
/*
*
* 作者:邓太华 时间:2008-10-12
* 版本:V4.5
*
* 修改者: 时间:2011-4-17
* 修改说明:为所有字段增加括号,以兼容其它数据库
*
* * 修改者: 时间:2011-12-14
* 修改说明:解决3个以上的实体类连接查询生成的SQL不正确的问题
*
* * 修改者: 时间:2012-2-28
* 修改说明:实现OQLCompare对象比较的时候操作符重载,修复在多实体连接下面的SQL函数问题。
*
* * 修改者: 时间:2012-10-11
* 修改说明:修复在多实体连接查询的时候,OrderBy 字段名丢失的问题。
* 修改了 CompareType 的枚举名称定义,使之可读性更好
*
* * 修改者: 时间:2012-10-25
* 修改说明:OQLCompare 对象执行比较的时候,支持SQL函数格式串。
*
* * 修改者: 时间:2012-12-26
* 修改说明:OQL 相关对象实现IDisposable接口,避免OQL对象使用了具有长生命周期的实体类导致可能的内存泄漏问题。
*
* 修改者: 时间:2013-1-16
* 修改说明:(网友[有事M我]提供 )根据传入的多字段排序,从而进行动态的排序;
* 适用于不能在OQL表达式里面直接指明排序方式的场景(比如需要从前台传入)。
*
* 增加了OQLOrder对象,根据外部传入条件,动态构造排序条件供OQL使用。
*
* 修改者: 时间:2013-1-17
* 修改说明:建立PWMIS.Core.Extensions 项目,扩展OQL的使用方式;
*
* 修改者: 时间:2013-5-27
* 修改说明:修复OQL2.In 的子查询的时候,主查询采用OQLCompare 条件引起的Bug;
* 感谢 博客园@张善友 发现此Bug
*
* 修改者: 时间:2013-9-17
* 修改说明:修复在使用IN的子查询中使用排序,导致查询语句不正确的问题;
* 感谢 网友 GIV-顺德 发现此Bug
*
* 修改者: 时间:2013-10-15
* 修改说明:修改OQL的事件挂钩处理方式,在EntityQuery 执行后确保解除事件挂钩。
*
* 修改者: 时间:2014-1-6
* 修改说明:修复 网友※DS发现问题, 调用本方法的时候,发现调用的第一个实体类属性是bool类型,
后面还有 2233 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
