happygrass

导航

 

      ORMAPPING出来已经很多年了,之前一直有关注,但一直没有应用到项目中去,众所周知,ORMAPPING的性能是很大一个问题,虽然它节省代码量,为程序员做了很多工作。而且ORMAPPING主要应用在JAVA领域,.NET领域用到的少之又少,最近公司要做一个内部的资产管理系统,我就打算用ORMAPPING来做,对几种ORMAPPING的框架我进行了比较,第一,nhibernate这个我相信大家比较熟悉了,nhibernate在JAVA领域已经应用相当广泛了,nhibernate最持久层性能稳定,本来我也打算采用,但后来选择放弃,主要是他生成的一堆XML我很头疼,不大好管理,这里很多人会给nhibernate辩解,我一直以为nhibernate是JAVA的东西,害怕性能问题。还有一个ORMAPPING的框架ibatis,这个其实也不错,但最终我选择了XPO,XPO是著名软件公司devexpress的产品,它的应用简单方便,好了,废话少说,进入正题,今天就是讲ORMAPPING在XPO框架中的应用。

     在讲应用之前,先解析一下ORMAPPING的概念有助于读者更好的理解代码,ORMAPING其实是object ralation mapping其实就是对象关系映射,说白了就是把类映射到表,或者说把表在程序里看成一个对象,更好的面向对象。ORMAAPING最重要的一些概念持久层,持久化工厂等等,各位自己去找资料,在此不详细说明。

    下面我做一个例子,实现表的新增修改查询。

     这里我建两个表,一个是主表,一个是从表,它们之间是一对多的关系。基于ORMAPPING的概念,我先建两个类,继承于XPOBJECT。

Code

 

Code

 

注意这两个类,我在构造函数里注入了Session,同时建立了他们的关系。这样他们之间的映射关系就建立好了。

现在我们对app.config添加数据库的配置信息,然后我们需要建一个类,用来创建SESSION

 

Code

 

这样我们的Session工厂就建立好了,需要用session的时候直接到这个工厂里取就行了,大家注意 AutoCreateOption option = AutoCreateOption.DatabaseAndSchema; 我这里选择的是DatabaseAndSchema,各位可以根据自己需要进行创建,接下来我们开始对表进行增删改查的操作。

 

Code

 

很简单吧,其实ORMAPPING关键是概念的掌握,本人写BLOG比较懒,呵呵,贴上代码,希望能起到抛砖引玉的作用~~~~~~~~~~~

 下载请点这里

posted on 2009-02-27 15:37  happygrass  阅读(1841)  评论(10编辑  收藏  举报