Nhibernate 基础关系映射

本文深入解析了ORM中四种主要关联关系:多对一、一对多、一对一和多对多的具体实现方式,通过实例展示了如何在不同场景下配置这些关联,为数据库设计与对象关系映射提供了实用指南。

多对一

 

<many-to-one name="OrderEntity" column="OrderID" class="MedicalSystem.Domain.Entities.Order" cascade="none" insert="false" update="false" not-found="ignore"/>
 
 
一对多
 
<set name="DrugDetailEntityList" table="T_DrugDetail">
<key column="DrugID" ></key>
<one-to-many class="MedicalSystem.Domain.Entities.DrugDetail"/>
</set>
 
 
一对一
 

Employee中

<one-to-one name=" person " class=" Person "  property-ref=" employeeID"  cascade="none" constrained="true"/>

Person中

<one-to-one name="employee" class="Employee"  property-ref="personID"  cascade="none" constrained="true"/>

两个类中必须都有相关的字段引用

 

多对多

 

在开发中经常遇到的用户(User)和角色(Role)的关系就是多对多的关系。一个用户可以拥有多个角色,同时一个角色又可以被很多的用户所拥有。那么在描述这两个对象之间的关系时就需要建立一个中间表User_Role来确立它们之间的关系。首先,需要在其中一个对象(例如,User)中配置一个多对多的关联

 

<set

        name="roles"

        table="User_Role"

        inverse="true"

        cascade="save-update"

        <key column="Id" />

        <many-to-many column="Role_Id" class="Role">

/set>

 

 

 

<set

        name="users"

        table="User_Role"

        cascade="save-update"

        <key column="Id" />

        <many-to-many column="User_Id" class="User">

/set>

 

 

Class:关联的目标类

Column:中间关联表中映射到关联目标表的关联字段


仅供参考

资料地址:https://www.cnblogs.com/zhangwei595806165/p/3552285.html

转载于:https://www.cnblogs.com/cwmizlp/p/10731273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值