这次增加的新功能有:
1.Oracle数据库支持(使用System.Data.OracleClient或ODP.NET驱动程序都可以)
2.支持Oracle的如下现实:
1)Sequence生成自增PK
2)CUD By 存储过程
3)数据库分页
3.涵盖了所有ADO.NETAPI的ISqlHelper操作接口.将SqlHelper和OracleHelper整合在一起,使用Session现实,这样你的代码可以独立于具体的数据库.
4.Session自动管理,借鉴了NH中的Session管理方式,Ndo内置四种管理策略:
1). Per Web Request(用于B/S架构中,一次客户端会话,一个连接)
2).Per Process(用于单线程C/S程序,一个进程/App连接一次)
3).Per Thread(用于多线程C/S程序,一个线程一次连接)
4).Per Unit of Work(也就是Per call,适用于各种运行环境,一次工作单元一次连接)
5.工具类EntityConverter<T>,将Ado.NET数据(DataReader, DataTable, DataSet)转换为实体类。支持Ndo Attribute和自动按名称Mapping方式转换.
6.一个Web项目,Demo如何使用新的Ndo
旧功能修改:
1.不再允许用户建立SimpleDao<T>的实例,以免Session管理混乱.将构造器改成了Internal
2.提供了Configuration.AddConnection(connectionNameInConfig),给个conn string的name就行了,Ndo自动检查Dirver.
3.PostShparp版本升级到1.5.*(LazyLoad用的)
4.更新了单元测试的代码.增加了一个多线程测试程序.
5.大写NDO->小写Ndo.统一名称.
目前存在的问题:
1.HasMany只能在[LazyLoad]时有效,不过不影响使用
2.BelongsTo设置[LazyLoad]没用.
预览界面:
Unit Testing 使用 Oracle的ODP.NET 数据驱动
SQL Server 2005性能测试数据:
注意ActiveRecord底层使用NHibernate2.x,所以你可以将它看做NHibernate.
Oracle 10g性能测试数据(注意Server 内存有2G,所以快很多):
Demo Web Site
Ndo和Nhibernate的选择:
1.中小项目,不需要分布式的,对数据库移植没要求的,用Ndo.如果要支持多数据库,用NHibernate.分布式中使用ORM本来就不太适合,会影响整体的性能和伸缩性,用Xml + DataSet最好,就是所谓有的大粒度的API.
2.如果对Nhibernate掌握的不深,感觉做项目有风险的,建议用Ndo,怎么说Ndo是我们自己开发的,每一行代码心里有数.
3.想做到很灵活,可以配置HQL, SQL的用NHibernate.
4.如果要提高性能的,用Ndo + SP.
5.Ndo不支持的数据库,如Sql CE, Sqlite(以后会加上支持),用Nhibernate.
6.不想配置hbm.xml的,对继承不敏感的,用Ndo
7.不想自己处理数据库连接的,用Ndo Session Manager和ISqlHelper操作接口,再配合EntityConverter,也可以现实简单的OO
8.想非常OO的,或者你的类有自己的基类,不能使用NdoRecordBase的,用Nhibernate
2009-11-12 12:07
阿牛-专注金融行业开发 阅读(
…) 评论(
…)
编辑 收藏
转载于:https://www.cnblogs.com/rockniu/archive/2009/11/12/1601666.html
今天的文章Ndo v3.1发布了!分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64558.html