相比ORM,ADO.NET除了在访问效率上占有优势外,所存在的缺陷也是十分明显的:缺乏面向对象的思想,使用起来当然也不如ORM简便。ORM一方面应用也比较繁琐,当然相比ADO.NET是一劳永逸的事。不过ORM基本都需要依赖于类的关联文件,这样给使用上造成很大不便,而且在版本升级的过程中,有些不能兼容以前的配置文件,这样很多代码生成工具就不能再使用,而要手工配置,如果数据库中有多个表并且有多个字段,简直就是噩耗;另一方面就是ORM都存在一些缺陷,我们在应用中有时候数据库并不是自己设计的,所以存在很多不规范的地方,比如复合主键关联问题等,这样在应用ORM时候也形成了相当的困难比如NHibernate;再者,现在的持久层框架真是“品种繁多”:NHibernate ,ObjectBroker ,Gentle.NET ,iBATIS.NET ,OJB.NET ...真是令人眼花缭乱,孰优孰差?或者有没有优秀的对ADO.NET封装的比较好的框架呢?大家看法呢?分就这么少,多了也不给:)
http://blog.csdn.net/lxwin01/archive/2007/05/16/1611246.aspx,仅供参考.