欢迎使用 PDF.NET 数据开发框架
(Ver 4.0)
关于框架的名字由来
在我设计www.pwmis.cn 站点(原域名已经过期,现在正准备使用新域名http://www.pwmis.com/ )的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经验的基础上,设计了 一套全新的快速数据处理框架 PWMIS Data development Framework,简称PDF。本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了 OQL查询表达式。本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命令为
PDF.NET
(下载 )
框架支持的功能
- UI层(WinForm/Web)控件数据绑定、映射与查询;
- BLL层实体对象查询(OQL)
- DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理)
详细说来,框架还包含以下特色功能:
- 类似LINQ的支持ORM实体类查询的OQL表达式(有了LINQ为啥还要搞一个OQL?本框架 OQL的基本设计在LINQ或者说本人知道 LINQ之前,另外,.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架安装部署不方便成为市场和客服常常抱怨的理由。 未来还有这样的理由,我们迫切需要一个类似LINQ的东西运行在某些客户过时的机器上。 )
- 无需任何后台代码即可分页的增强数据分页控件。
- 只需要一行代码实现页面数据的增,删,改,查。
- 基于SQL词法分析的支持多种数据库的高效分页类,你只需要设置SQL语句和分页属性它便能够为你生成特定数据库平台的当前页数据的SQL语句。
- 一套实用工具,可以生成实体类和根据SQL配置文件自动生成代码的代码生成器以及SQL配置文件管理程序。
-
更多的功能等待你去发现:)
与其它数据处理框架的关系
本框架是总结多种数据处理框架的优点,去除其复杂性后的轻量级的数据处理框,所以可能没有你熟知的下列重量级框架强大的功能。本框架的设计目标是 轻量,快速,通用,易学 !
- Hibernate:借鉴了它的ORM原理和HQL语言,使用了类似的简单的ORM功能;
- iBatis:借鉴了其SQL-MAP功能,对其复杂性进行了大力精简;
- LINQ/Entity Framework:提供类似LINQ的OQL语法
框架功能演示
- 表单数据绑定,分页显示--
- 数据映射,查询--
- SQL-MAP演示(请查看DAL层代码)--
- OQL查询(演示请看TestSqlMapEntity 项目)
-
支持工具,提供代码生成器和SQLMAP配置文件管理程序--(请看解决方案Tools目录)
框架的适用条件
- 首先你是懒人或者菜鸟,大牛请绕道;
- 其次,你很喜欢平民化的技术,不是那种非MS等大厂提供的框架不用的技术狂热人士;
- 最后,如果老板把你逼急了,建议你使用本框架,当然之前你得先熟悉它,本人就是在这种情况下不顾项目经理的反对私自使用这套框架的,算是本框架的第一次商业项目的使用。(我一人完成了项目3/4的代码开发,另外两个人只写了1/4,项目经理最后才没话说)
框架使用的限制条件
许可限制
首先,请尊重本框架的版权,本人可以有条件的开放本框架的部分或者全部源码,如果你获取了源码你可以自由对其修改但不可以修改本框架的名称和版权归属,你 不可以将原始源码或者修改后的源码分发给任何第三方,如果你修改后,请向本人发送一份。如果你未从官方获得本框架的源码 ,未经许可,不得使用任何工具对本框架反向工程查看和修改源码。任何组织和个人都可以将本框架使用于任何商业项目,可以免费使用本框架官方发布的最终 DLL库和相关工具,但你有义务向本人告知你使用本框架的基本信息,比如公司名称,项目名称,项目技术信息等。本人不对你使用本框架造成的任何损失承担任 何责任。如果你不同意上述条款,请勿使用本框架!
技术限制
当前版本基于.NET2.0以上平台,不支持实体对象对应的数据库表外键关系,OQL表达式不支持多实体类查询,不支持SQL的统计求和分组等,如有这些 复杂查询需求,请使用SQL-MAP技术。SQL-MAP 配置文件不支持多个配置文件,但你可以将配置文件以嵌入式文件分散到多个DAL项目中。数据访问已经内置了 SqlServer,OleDb,ODBC,Oracle,SQLite等,如果你想提供其它数据库类型的访问,可以使用OleDb或者ODBC方式,或 者继承本框架的数据访问类开发专用数据访问提供程序。
框架源码的获取
你可以免费向本人索取本框架的测试解决方案 ,如果你喜欢并想获取本框架的全部源码,请在线向本人发邮件联系: dth1977@sohu.com
本人也欢迎你从非官方渠道获取本框架程序(不包括源码 ),只要你遵循许可限制。
爱心行动
本人属四川德阳人士,2008年中国四川汶川大地震德阳也是重灾区,尽管灾害已经过去一年多,但灾区重建仍然是一个漫长过程。因此本人决定采取软件义卖方式,本人承诺,将本框架所获收入的50%捐献给灾区人民,请所有有爱心的人士鼎力支持!
框架应用的项目案例
。。。更多成功案例等待你的实现:)
新版本信息
Ver 4.0 更新:
全面改写了实体类处理程序,效率提升10倍;
改进实体类生成器,支持从 SQLSERVER 表字段说明生成实体类属性说明;
SqlMapDAL 支持外部接口定义;
简化了支持多个SqlMap文件的处理方式;
SQL-MAP支持复杂查询的分页;
SQL-MAP改善了对存储过程的支持;
OQL支持单行表达式语法(OQL.From(Entity).Select(....).Where(...).OrderBy(...).END);
实体类支持高效率分页;
优化了生成内部数据访问对象的效率(不再依赖于反射);
优化了其它操作的效率。
Ver 3.0 更新:
•全面改写了SqlMap模块,真正支持SQL-实体类 映射
•全面调整了框架的命名空间,合并了基础程序集成为一个 PWMIS.Core.dll
•修正了自2.0以来的Bug
•改进了代码生成器
Ver 2.0 更新:
•使用.NET 2.0技术改写原来所有的模块
•增强了Web控件验证功能
•全面改写原有实体类,提供实体类生成器
•全面改写了OQL功能
•支持.NET 2.0数据库连接配置
Ver 1.0 功能:
•提供SQL-MAP功能
•提供ORM功能,并提供OQL功能
•提供控件数据绑定功能
•提供高效分页控件
•提供控件数据验证功能
更多信息
本框架官方网站 http://www.pwmis.com/sqlmap (新申请域名,如果不能打开说明还在备案中,原网址:http://www.pwmis.cn/sqlmap)
本人联系方式
QQ:45383850 (深蓝医生)或者
mailto:bluedoctors@msn.com (抗震救灾)
PDF.NET 技术开发群:43109929
相关文档和更多信息请查看官方网站。