光脚丫学LINQ(041):使用对象关系设计器修改映射关系
演示视频:http://u.115.com/file/f2b86d8eab
演示重点
此演示视频主要介绍了如何使用VS提供的【对象关系设计器】这个工具来建立实体类之间的关系。
虽然此工具可以自动根据数据表之间的关系来建立起对象模型中实体类与实体类之间的关系。然而,默认情况下,它所建立的关系貌似都是清一色的一对多关系。^_^而事实上,LINQ to SQL可以支持的关系类型不止这一种。所以,有些时候,该出手时还得出手,光靠工具还是不行的。
在对象关系设计器中,实体类之间的关系通常使用的是一个带有黑色实心箭头的虚线来表示的。比如下图:
如果你在两个实体类之间的虚线上右键单击的话,在弹出的菜单上你会发现有一个【编辑关联】的菜单项。单击它,则会弹出类似如下的窗体:
通过这个对话框就可以设置父类和子类之间各自建立关联的属性了。确实是挺方便的!
但是,如果你想要对关联关系做更多的修改,不妨还是回到属性面板上来做修改。关于关联关系的属性设置,会类似如下的情况:
本演示介绍的重点是那个【基数】设置项。哪个是基数设置项呢?看上图的箭头指示吧!换了个VS版本,竟然变成了英文。郁闷!此设置包含它包含了两个选项:一对一、一对多。
这个基数的设置对代码最大的影响就是单一方访问集合方的集合属性的类型。
当设置为一对一的关系时,单一方保存集合方对象的私有变量类型是EntityRef<TEntity>类型的;而设置为一对多关系时则为EntitySet<TEntity>。