ORMapping基础.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
![preview](https://dl-preview.csdnimg.cn/27185623/0001-aace77f44ca5918a6396673bc85e2392_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
ORMapping,全称为Object-Relational Mapping,是将对象模型与关系数据库进行映射的技术,使得程序员可以使用面向对象的方式来操作数据库,而无需关注底层的SQL语句。本章主要介绍ORMapping的基础知识,以NHibernate框架为例进行阐述。 首先,映射声明是通过XML文档完成的,该文档定义了对象与数据库表之间的对应关系。映射语言以.NET为中心,这意味着映射是基于持久化类的定义,而不是直接基于数据库表的定义。虽然许多用户选择手动编写XML映射文档,但也有一些工具如MyGeneration可以自动生成这些配置文档。 例如,下面是一个简单的映射文档示例: ```xml <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" namespace="Eg" assembly="Eg"> <class name="Cat" table="CATS" discriminator-value="C"> <id name="Id" column="uid" type="Int64"> <generator class="hilo"/> </id> ... <subclass name="DomesticCat" discriminator-value="D"> <property name="Name" type="String"/> </subclass> </class> <class name="Dog"> <!-- mapping for Dog could go here --> </class> </hibernate-mapping> ``` 在这个例子中,`class`元素表示一个.NET类`Cat`映射到数据库表`CATS`,`id`元素定义了主键,`generator`元素指定主键生成策略。`discriminator`用于多态性,`subclass`元素表示子类`DomesticCat`,并且可以添加额外的属性映射。 映射文档中还包括其他元素,如`property`用于字段映射,`many-to-one`表示多对一的关系,`set`、`list`、`bag`和`map`则用于表示集合关系,如一对多或多对多。例如,`<many-to-one name="Mate" column="mate_id"/>`表示`Cat`类中的`Mate`属性与另一张表的主键关联。 此外,`hibernate-mapping`文档需要使用特定的命名空间和schema,如`urn:nhibernate-mapping-2.0`,这个schema通常包含在NHibernate资源中。在开发环境中,可能需要将schema文件复制到相应目录以供Visual Studio等IDE使用。 映射文档还支持一些属性,如`not-null`和`update`,它们可以影响数据库schema的生成,以及实体行为。例如,`not-null="true"`表示字段不允许为空,`update="false"`表示字段在更新时不改变。 总的来说,ORMapping是实现对象模型与关系型数据之间转换的关键技术,通过NHibernate提供的XML映射文档,开发者可以方便地定义对象和数据库之间的关系,从而简化数据访问层的代码,提高开发效率。理解并熟练掌握ORMapping对于进行.NET平台下的数据持久化工作至关重要。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![html](https://img-home.csdnimg.cn/images/20210720083451.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/27185623/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/27185623/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/27185623/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/27185623/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/27185623/bg5.jpg)
剩余27页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 14
- 资源: 26万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)