发布:2014/9/25 16:35:51作者:管理员 来源:本站 浏览次数:1710
以前还在大学中学习java的时候,就学着使用Hibernate进行持久化层的操作。当时只是觉得这框架很神奇,能够不写SQL语句就能操作数据 库。当时也不知道其内部原来是什么,就只知道怎么去用,怎么去写XML配置文件。毕竟当时来讲,代码量有限,接触的编程思想也不多,也没有办法去做深入的 研究。最近一段时间以来一直在做.net的开发,其ORM框架有微软自带的Framework,当然也有从Hibernate演化而来的.net平台下的 NHibernate. 最近学东西,就很好奇其内部的转换过程。恰巧在博客园中,很幸运到读到了“奋斗”前辈关于自己动手写ORM的一系列文章,用C#完成。特此转载,希望大家 一起学习。以下是转载内容,这一篇主要是描述最终的框架效果,以后会一步一步的去用代码实现这个框架。
最终实现后达到的效果,只需写少量代码就可实现CURD操作。
DAL层代码:
实体类与数据库表的映射关系配置:
BLL层代码:
在实体类中配置[Table(Name="Student")],对应数据库中的表名:Student
在实体类中配置[Id(Name=”studentid”,Strategy = GenerationType.SEQUENCE)],表示当前属性是Student表中的主键ID,Name=”studentid”表示该属性Stuid对应Student表列studentid,Strategy表示主键生成策略,这里是自动增长。
在实体类中配置[Column(Name="studentno")],表示当前属性Stuno对应Student表中的列名:studentno(默认属性名=列名)
在实体类中配置[Column(IsInsert=false)],表示当前列值不插入到数据库(默认插入)
在实体类中配置[Column(IsUpdate=false)],表示当前列值不更新到数据库(默认更新)
(实体类映射配置和一些命名参考了JAVA中的JPA)
在下一篇中将开始研究如何一步一步的构建一个简单的ORM框架。
© Copyright 2014 - 2025 柏港建站平台 ejk5.com. 渝ICP备16000791号-4