版本
1.2 [2006-11-13]
简介
本手册演示NBearV3支持的所有实体关系设计的完全参考。包括1对1,1对多,多对多关联以及自关联的正向、反向引用时的所有情况的设计方法。
注1:本手册并不讨论继承关系。因为,继承关系自然映射到设计实体接口的继承,无需太多额外讨论。
注2:所有的关联在演示中都包含了正向和反向的可读写引用,在实际的项目中,一般并不总是需要同时有正向和反向引用,可以只在一个方向包含引用,或一方包含引用,另一方只包含一个外键ID,也可以只包含只读的引用。并且,在双向引用时,绝对不能同时设置为双向的LazyLoad=false。
注3:所有关联关系中的正向或反向引用的属性,根据需要,可以添加ContainedAttribute标识,以实现属性和包含属性的实体的级联更新/删除。在本文演示的所有引用中都没有包含ContainedAttribute,实际项目中请注意添加,但是不要同时在正向和反向引用属性中添加ContainedAttribute。
注4:在阅读本文之前,建议读者先阅读《NBearV3 Step by Step教程——ORM篇》以掌握NBearV3中有关ORM的基本知识。
代码
本手册演示的所有类图和代码,包含于可以从sf.net下载的NBearV3最新源码zip包中的tutorials Entity_Relation_Manual目录中。因此,在使用本手册的过程中如有任何疑问,可以直接参考这些代码。
正文
一、1对1主键关联
分析:一对一主键关联指的是两个实体通过相同的主键进行关联。典型的关联关系如图中的User和UserProfile的关联。其中,UserProfile不能脱离具有相同主键值的User存在。因此,实际上,对于UserProfile来说,它的属性UserID既是它的PK,又是一个关联到User的FK,且UserProfile.UserID应该对User.ID有引用完整性约束。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!