OQL.NET 是一套强类型的数据库对象查询语言 (OQL,Object Query Language),和 SQL 以及其它 OQL 不同的是,OQL.NET 基于宿主语言 (基于 C 和 VB 等原生 .NET 语言而不是字符串)。
OQL.NET 兼容 SQL-92 标准。它支持 SQL-92 DML 的所有主要元素,包括 select、insert、update 和 delete 语句,也包括 select、from、join、on、where、group by、having、order by 和 case 子句。
OQL.NET 对象查询语言具有良好的设计,无需安装插件,您就能在 IDE 中编写 OQL 时获得严谨而正确的上下文帮助。OQL.NET 对象查询语言能一步一步地引导用户写出正确的、具有兼容性的数据库查询语句。
OQL.NET 是完全面向对象的、强类型的数据库查询语言,您编写的 OQL 查询语句随着您的应用程序一起编译。这样,OQL.NET 对象查询语言使您能在编译时发现数据库查询语句的错误,而不是延迟到运行时才进行艰难的除错工作。当数据库的架构改变时,通过(使用Macrobject CodeAuto 等代码生成工具)重新生成查询类代码,再次编译应用程序时,通过编译错误便能发现需要修改的 OQL 语句。
OQL.NET 对象查询语言支持多种数据库,在切换数据库时,无需变更源代码,也无需重新编译。
使用 OQL.NET 对象查询语言能降低 80% 以上的查询语句编写时间,减少 95% 的查询语句调试时间,并且不会带来任何性能损失,同时提高系统的可靠性(一个没有错误查询语句的应用程序)。
使用 OQL.NET 对象查询语言,您可以将一个数据库架构划分为多个子架构,便于进行业务和应用的划分。OQL.NET 对象查询语言提供的映射机制也能够让开发人员为数据对象及其属性重新命名,这样开发人员就可以采用更加易懂易记的名称,使代码更具可读性。
OQL.NET 对象查询语言采用的级联表达式以及基于宿主语言的中缀表达式写法具有很好的可读性,可以和原始 SQL 语句相媲美。并且 OQL.NET 对象查询语言支持将很长的查询语句分开来写,将其公用部分拆解出来,十分类似于功能分解的重构功能(如抽子函数),这样更易读更易维护。
OQL.NET 对象查询语言同时支持对象表达式,可以大大简化查询语句的编写。OQL.NET 对象查询语言生成的 SQL 语句不但严谨,并且格式良好。