登录
Forgot your password?

关于 PDF.NET

关于框架的名字由来,在我设计www.pwmis.cn站点(原域名已经过期,现在使用新域名www.pwmis.com)的时候,

考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经验的基础上,设计了一套全新的快速数据处理框架 PWMIS Data Develop Framework, 简称PDF.NET。

框架追求的目标是简单与效率的平衡,体现在:
代码的精简,开发、维护的简单与追求极致的运行效率。
本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了OQL查询表达式。本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命名为PDF.NET

01

当前最新版 5.6.0.1215,下载请看下面说明

从2013.10.1日起,原PDF.NET 将更名为SOD

(one SQL-MAP,ORM and Data Control framework)

原PDF.NET框架将成为一个全功能的企业开发框架,而 SOD框架将是PDF.NET开发框架下面的 “数据开发框架"

02

为什么要选择PDF.NET(SOD)框架?

喜欢简单的开发过程!

老板逼的急,要快速开发完成!

喜欢ORM框架!

喜欢存储过程+手写SQL的开发方式,更有“安全感”!

希望像写SQL那样来操作ORM框架!

EF、NH等框架在我的项目中某些特性没法完全满足,想定制修改或者扩展,但没有源码或者源码规模巨大!

程序复杂,执行要快!

......

新版本信息

Ver 5.6 更新

  • 改进对PostgreSQL 自增实体类的支持
  • 修复 Access nuget的问题;
  • 增加 WinForm MVVM支持
  • 修正Oracle CLOB 类型的支持
  • 扩展实体类的JSON功能
  • CommonDB支持自定义的日志对象 Logger
  • 支持最新的odp.net方式连接oracle
  • DbContext支持从接口生成数据表

框架下载

开源项目下载:

1,去开源项目网站的 SOURCE CODE 页面,点击“ Download ”,这种方式下载的RAR包可能解压有问题(MS的问题,不过不必理会,看源码是可以的。) 2,使用 TFS连接项目源码,你的连接用户名也在 SOURCE CODE 页面 上,点击“ Connect ”查看。
3,使用SVN,获取地址的方法,同方法2。
4,直接在项目网站的 DOWNLOAND 页面,例如点击 “ PDF.NET.Ver4.6-OpenSource”,当然你也可以下载其它资源。


SOD

框架特色功能

  • 数据控件:
  • 支持WinForm / WebForm,使用上无差别;
  • 智能表单数据控件,只需要一行代码实现页面数据的增,删,改,查;
  • 表单数据的自动收集和填充,自动生成查询条件;
  • 无需任何后台代码即可分页的增强数据分页控件.


  • ORM:
  • 无反射:整个框架没有使用 反射 来实现ORM和界面数据绑定,可以保证数据操作的高效率.
  • ORM 查询语言--OQL:类似LINQ的支持ORM实体类查询的OQL表达式,OQL支持"多实体类连接查询"突破普通的ORM只能查询单个实体的限制.
  • (有了LINQ为啥还要搞一个OQL? 本框架OQL的基本设计在LINQ,或者说本人知道LINQ之前, 另外.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架 安装部署不方便成为市场和客服常常抱怨的理由。未来还有这样的理由,我们迫切 需要一个类似LINQ的东西运行在某些客户过时的机器上.)
  • 集成开发工具,支持从表、视图、存储过程、自定义查询生成实体类。



  • SQL-MAP:
  • 集中管理SQL语句,可以生成实体类和根据SQL配置文件自动生成 DAL 代码的代码生成器以及SQL配置文件管理程序;
  • 通过切换SQL-MAP配置文件,支持SQL查询的本地化特征(多数据切换);
  • 提供SQL-MAP配置管理工具,并且支持VS进行配置文件编辑的时候的智能提示;
  • 与iBatis比较,开发使用几乎"零"配置.


  • 自动分页:
  • 多种分页功能,支持分页类,控件分页,OQL分页,SQL-MAP分页
  • 基于SQL词法分析的支持多种数据库的高效分页类,你只需要设置SQL语句和分页属性它便能够为你生成特定数据库平台的当前页数据的SQL语句;


  • 多模式支持:
  • 控件开发模式--内置数据控件支持;
  • OO开发模式--ORM框架和独特的ORM查询语言支持(OQL);
  • SQL开发模式--(SQL-MAP)自动生成DAL层代码;


  • 跨平台支持:
  • 已经验证,框架在Mono 框架的支持下,可以运行在Linux 系统上(演示地址〉〉 );
  • 最低可以支持 .NET 框架2.0,同时支持.NET 3.0.3.5,4.0,4.5,4.6 等后续版本.
  • 支持各大主流数据库平台:SqlServer,Oracle,MySQL,PostgreSQL,SQLite,Access,SQL CE等,只要有Ado.net驱动即可支持.


  • 与其它数据处理框架的关系:
  • 本框架是总结多种数据处理框架的优点,去除其复杂性后的轻量级的数据处理框,所以可能没有你熟知的下列重量级框架强大的功能.本框架的设计目标是 轻量,快速,通用,易学!
  • Hibernate:借鉴了它的ORM原理和HQL语言,使用了类似的简单的ORM功能;
  • iBatis:借鉴了其SQL-MAP功能,对其复杂性进行了大力精简;
  • LINQ/Entity Framework:提供类似LINQ的OQL语法

框架支持的功能

  • UI层(WinForm/Web)控件数据绑定、映射与查询;
  • BLL层实体对象查询(OQL)
  • DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理)

图例

PDF.NET体系结构图
SQL-MAP结构图

官方资源


框架使用条件

许可限制

开源许可协议:

本框架的开源版本遵循LGPL协议,任何单位个人均可免费使用,在用于商业项目的时候,应只包含类库引用,如果需要分发或者修改源码需要获得框架版权人的授权许可。
详细内容请参见开源组织的LGPL协议说明。

非开源许可协议:

本框架的非开源部分(目前包括WinForm数据控件、外围开发支持工具),仅提供给框架的会员使用,如何成为会员,请参见下面的说明。

如何成为会员

       方式一:

    

2011年5月份框架销售情况支付宝收款情况:

注:从2012年11月开始,框架改成“收款主页”的方式并且以捐助的模式接收款项,之前为支付宝付款方式。


      方式二:

如果你愿意在国内外知名技术社区(如博客园,CSDN等)发表PDF.NET框架的使用心得和介绍,累计发帖数量超过3 篇而且字数超过500字,即可向我申请成为框架实名会员。

    

      非会员用户:


开源基金:

  中国的软件开源事业需要更多的人的关心和支持,PDF.NET为此在2011年开始加入开源行列,并在2012年国庆前对最新版本进行开源,希望国人在基础开发框架方面有更多的选择,促进中国软件事业的发展。但PDF.NET出身草根,它的发展需要您的更多呵护。如果您觉得它的确为你的软件开发起到了帮助,并且愿意更进一步的支持框架的发展,请捐助PDF.NET,我们将使用这笔资金来进行框架的宣传、推广、培训活动;支付框架所在网站、源代码托管服务;组织开发活动,奖励开发团队的贡献。

  感谢PDF.NET的会员对于框架已经进行过的捐助,期待有企业用户也对本框架进行捐助。

   捐助热线:QQ:45383850   开源基金捐助账号


框架应用的项目案例

。。。更多成功案例等待你的实现:)