您的位置:首页 > 其它

ORM及相关技术概念入门

2011-07-29 15:47 295 查看
ORM及相关技术概念入门

ORM-对象关系映射

ORM:是一种为了解决面向对象与关系数据库存在的相互匹配的技术。与非ORM相比,ORM技术基本消除了数据访问层大量重复性劳动,极大的提高了开发效率,并且为平台应用多数据库提供了很好的支持。现在流行的ORM产品比较多,比较著名的有NHibernate, IBatis.NET,DBLinq等。

ORM产品有微软的Linq For SQL Server/Entity framework(注:在这篇文章中不讨论Entity Framework), Oracle的Linq For Oracle, 也可以自主开发的ORM产品。 Linq For SQL Server用于解决SQL Server数据库的映射, Oracle For Linq用于解决Oracle数据库的访问;自主开发的ORM用于解决其他数据库的访问。针对不同数据库的ORM实现, 代码要求都是一样的,需要改变的是数据库类型的配置。企业应用从一种数据库支持切换到另一种数据库支持,需要变更的只是数据库类型设置。

LINQ

Linq是微软公司在.net Framework4.0中推出的语言基础查询。该技术的推出,极大的释放了对象集合的操作功能,而对象集合操作是编程中大量使用,Linq可以代替原来的许多的环操作,大大的提高了编程效率,提高了代码的质量。并且Linq和ORM结合,更是简化了数据查询的操作。并平台将要求广泛使用Linq来代替环等操作,因为开发人员全面、完整的掌握Linq技术的使用.

泛型集合

泛型集合是一种强类型的集合.强类型是提高代码质量,减少编程Bug最重要、直接的手段。原则上本平台集合都需要使用泛型集合,不再使用 array等非泛型集合.

自动生成和Partial机制

企业应用中可以采用ORM作为数据访问层的实现机制,其中ORM中关于实现映射的代码和数据库对象之间存在一一对应的关系,只要任何一方已经确定,就可以自动推导出另一方的代码. 可以根据已经设计好的数据库模型推导出实体模型映射部分的代码;或根据映射部分的代码自动生成数据库表、列、主外键等数据库对象。在设计初期,由于设计数据库对象比编写类代码要容易,因此,在项目初期,一般是先设计数据库对象,然后根据数据库对象自动生成ORM所需要的类代码. 在项目后期或维护阶段,需要对已经设计好的类进行少量的修改,这时通过修改类很容易实现。并且在项目后期或维护阶段,因为已经存在了开发、测试、运行多个数据库,对这些数据库一一进行手工修改显然不方便,这时需要根据已经生成好的类模型来自动同步数据库对象。

代码自动生成机制不仅可以应用在ORM机制上,同时也可以应用在文档生成、应用在原型代码生成上。ORM中的实体类的代码,不仅有映射的代码,同时也需要根据应用的需要手工增加代码。因此,需要对程序员手工编写的代码和基于ORM机制的代码实现分离,以达到代码清晰,不会手工去修改自动生成的映射代码,或重新生成映射代码时,覆盖或丢失手工代码的现象。为了解决此问题,本平台通过采用Partial类机制来实现。即类中自动生成代码和手工编写的代码分别在不同的文件里。

Extension

Extension是.net framework技术平台实现类功能注入的一种机制。使用Extension机制可以减少类的继承,使库函数可以以面向对象的方式使用,减低理解难度,从而提高开发效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: