随笔分类 - NDO
摘要: 由于工作的原因,Ndo 的版本发布和更新有点慢,现在简单介绍一下Ndo 的新功能.
1: 支持1.1 和 2.0, 支持泛性
2: INdoManager 接口增加了很多IStatement, IProcedure,Query, Entity 的代理操作,大大简化了代码书写的数量.
3. 增强了IStatement ,IProcedure参数化查询功能(以前可能要写N行代码,现在只需要1行代码即可)
4. Sql 语句的参数占位符一律采用"@"表示,Ndo会自动根据数据库驱动程序的不同自动切换
5. 增强了Query 的Filter 功能
6. 降低了Condition 和Query 的强耦合关系,同时也删除了Condition 直接操作数据的功能
7. Nql 查询支持强类型查询
8. 支持2.0 ConnectionString 的配置
9: 对Ndo 实行了比较全面的单元测试
10. 对活动记录的改动比较大,支持泛性, 以前活动记录的查询用的是实例方法,现在的查询用的都是静态
阅读全文
摘要:在NDO 中对于需要持久化的实体对象,在它的生命周期中可处于以下4个状态或混合状态中。
临时状态(isNew),“脏”状态(isDirty),持久化状态,游离状态。。。。。。。
阅读全文
摘要:在我的 也谈代码生成器 这篇文章中,我简要的介绍了代码生成器的7中设计方案,这篇文章我将以NDOGenerator为例详细介绍第五种设计方案的具体设计过程,希望和广大代码生成器爱好者在这个平台上相互分享一些设计思想!
如果要做一个通用的代码生成器(基于数据库驱动)必须具备的三要素:M V C
1:需要对数据库元数据进行建模(如,表,视图,列,视图列,存储过程,存储过程参数等)
2:一个良好的基于插件(命令模式)的控制器引擎
3:视图技术采用模板引擎
基于以上三要素来看NDOGenerator 的具体设计
阅读全文
摘要:这个版本的Ndo对视图的支持增强了,并且增强对实体类的单表映射,下个版本将增加对一对多关联关系的支持!
简单介绍一下,实体类的使用方法:
阅读全文
摘要:Ndo 的配置方式非常灵活,可以有如下的几种方式 1: 默认的配置方式-单数据库(支持解析SqlClientDriver,OledbDriver,OracleClientDriver,JetDriver,OdbcDriver,SqlOledbDriver,OracleOledbDriver,如果是其它数据源可以通过后面的其它方式)Ndo自动在appSetti...
阅读全文
摘要:NDO - DOTNET Data Access Object 的简称,是一个轻量型的数据访问组件,配置简单,支持多数据库,内部对ADO.Net 进行了良好的封装,使开发者不需要关心和了解ADO.Net 的底层细节,不需要根据不同的数据库专门写一套DAO。该组件内建了Statement 和 Procedure 对象专门针对于Sql 语句和存储过程处理的对象(类似于JDBC API),Statement 和 Procedure 比DAAB提供了更多的API,使开发者使用起来更方便和更快捷。NQL - NDO Query Language 是NDO 组件的又一个数据访问组件,它是基于Statement 对象之上的,使用简单灵活。活动记录 - ActiveRecord 一个ORM的精简版(支持单表的CRUD,多表操作可以借助NQL或Statement或Procuedure组件来实现)。相关内容,请看下面的介绍:
阅读全文
摘要: 关于代码生成器 Teddy's Knowledge Base 兄在博客园上已经谈过几次了,如他的也谈orm和代码生成和没有ORM或代码生成数据就不能持久化了? - 用范型技术代替代码生成! 等,今天我不谈代码生成器的意义,只谈代码生成器的设计方案,最后给一个DEMO供大家下载.
阅读全文
摘要:Rails 技术自从2004年7月出来后,在整个IT业界引起了巨大的震动,现在的JAVA 开源领域也RAILS了,.Net 在Castle项目下也Rails了,Castle下的monorail已经IRC了。我对rails技术非常看好,但是看到monorail的模型层用的是Castle 的ActiveRecord ,就开始对monorail有了些许抵触的思想情节,继续往下看,看到模板有3个选择,第一NVelocity,第二Aspx,第三是Brail,当时我对Velocity/NVelocity已经很熟了,但是对NVelocity 有抵触(因为NVelocity 的作者已经说过了以后不会在更新NVelocity了,NVelocity 还有不少Bug呢,为了使用NVelocity 我就把NVelocity的Bug修改了4/5处),aspx的引擎支持的非常弱,Brail的视图引擎用的是Boo语言,又不熟悉,当时对monorail有一点不是特别看好。昨天在博客园上看到了一个兄台说Castle IRC Release1.0了,我怀着好奇心从官方网站上下载了monorail进行安装.........
阅读全文
摘要:NDO 组件和例子下载,内置了一个基于Velocity模版引擎的代码生成器,该组件属于开源的,没有任何版权的纠纷,欢迎大家试用,如果有任何意见和建议请仅扔砖头就是了!
阅读全文
摘要:半年多没上网了,今天早上一大早来到博客园,看了Teddy's Knowledge Base 兄的NBear,以及上个礼拜五发现的OQL.NET,以及我前一段以及现在正在做的NDO,我思索出来了四个问题,微软 DLinq技术来临前的国内 .NET 的 ORM 发展之局势
阅读全文
摘要:Region和Products表的SCHEMA代码,Region表中的主键时赋值方式,Products中的主键是自动增一的CREATETABLE[dbo].[Region]([RegionID][int]PRIMARYKEY,[RegionDescription][nchar](50)NOTNULL)CREATETABLE[dbo].[Products]([ProductID][int]IDENT...
阅读全文
摘要:我开发的这个ActiveRecord 思想来源于现在非常火爆的Rails框架中的ActiveRecord - 活动记录,该模式来源于国际软件大师Martin Flowler所著的<<企业应用架构模式>>。文中Martin Flowler下了定义:一个对象,它包装数据库表或视图中的某一行,封装数据库访问,并在这些数据上增加了领域逻辑。 意思是说活动记录是一个实体对象,该实体对...
阅读全文
摘要:NQL.NET 是我最近在NDO(DOTNET DataAccess Object)的基础上并吸收了Hibernate,Rails框架中的活动记录,Castle中的活动记录,Grove,ActionPack,OQL的精华思想上建立的一套数据库对象查询语言(NQL,NDO Query Language)它支持 CRUD操作,也包括 select、from、join、on、where、group by...
阅读全文
摘要:17. 比DataSet更简单的分页操作,并且性能也大大增强了,CurrentPageIndex = 1,PageSize = 5this.dataGrid1.DataSource=newQuery("Customers").Where(Ex.Like("ContactTitle","Sales%")).GetDataTable(1,5);SQL 输出SELECTTOP5*FROM(SELECT*...
阅读全文