happygrass

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

      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   happygrass  阅读(1843)  评论(10编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
 
点击右上角即可分享
微信分享提示