登录
Forgot your password?

PWMIS--编程智慧网

www.pwmis.com网站是一个2004年建立的个人信息网站,主要面向大众信息分享,由于多种原因,网站没有打理也就现在这样了。 现在,PWMIS网站域名有了更新的含义:
PWMIS--Programming Wide Minds Information Site, 编程智慧网。
* Programming Minds--编程思维,并不是编写程序的技巧,而是一种高效解决问题的思维方式。编程过程中所涉及到的思维方法林林总总,这些思维方法并不是编程所特有,而是在现实生活中广泛存在使用的。由于现实中使用软件程序越来越普遍,编程的重要性不可或缺,“编程思维”这个新名词自然就出现了。然而,编程思维并不只是编程过程中各种思维方式的一个集合,而有它显著的特点,编程思维的本质就是创造,从0到1,无到有。
* 编程思维不只可以用来编程,也是一种有效的解决问题的思维方式,可广泛用于工作生活的方方面面,这便是一种更加开阔的思维方式,Programming Wide Minds--“编程泛思维”。这样,编程思维来自于现实生活,又更好的应用于现实生活,这就是一种创造性思维,这就是编程的大智慧,也就是编程的终极意义。
* 在编程智慧网(http://www.pwmis.com/)你可以学到很多这方面的示例,可以简称本网为“编程蜜糍”。

关于 PDF.NET / SOD

关于框架的名字由来,在我设计www.pwmis.com网站的时候, 考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经验的基础上,设计了一套全新的快速数据处理框架 PWMIS Data Develop Framework, 简称PDF.NET,后来PDF.NET有了更大的含义,原框架更名为SOD框架。
PWMIS“编程的蜜糍”,SOD就是那个“蜜糍”。

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

企业级解决方案
内存数据库   使用本地缓存,按需使用,后台线程内存数据自动持久化。
分库分表   实体类支持分表路由函数,最简单的分库分表方案。
分布式事务   结合iMSF即时消息服务框架,高效实现三阶段分布式事务。
异构数据库同步   不同数据库平台,不同数据表结构之间的完善的数据同步。
应用层数据复制   基于应用层的数据复制方案,底层数据库无限制,灵活定制数据复制内容,业务级数据权限控制

注:了解SOD框架企业级解决方案的详细内容,请阅读《SOD框架“企业级”应用数据架构实战》一书。

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)框架?

喜欢简单的开发过程!

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

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

EF、NH等框架在项目中某些特性没法满足,想定制修改或者扩展功能又很困难!

程序复杂,执行要快,但客户舍不得升级硬件,内存完全不够用!

有企业级的数据开发需求:分布式事务、分库分表、数据同步、消息服务......

03

PDF.NET 会员服务

《SOD框架“企业级”应用数据架构实战》八折购买(带签名)

《SOD框架“企业级”应用数据架构实战》书中所有源码

PDF.NET使用三年免费在线咨询

10次电话咨询

更多的技术支持服务(成为会员后可垂询)

新版本信息

  • Ver 5.6 更新

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

框架下载

项目源码下载:


工具下载:


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体系结构图
(2/4)SQL-MAP结构图

官方资源


框架使用条件

许可限制

开源许可协议:

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

非开源许可协议:

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

如何成为会员

        方式一:

    

2011年5月份框架捐助(支付宝)收款情况:

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

注:从2020年6月开始,框架改成“二维码收款”的方式接受捐助,支持支付宝和微信支付。


       方式二:

    

       非会员用户:


开源基金:

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

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


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


框架应用的项目案例

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