包 A 有一个桌面 Y 和一个监视器 Z。包 B 有一个桌面 Y 和两个监视器 Z。我想在实体设计器创建的数据库中表示这种关系。
StandardPackage
和StandardMachine
(有台式机、显示器、笔记本电脑等)之间存在多对多的关系。每个季度,我们都会更新我们的包裹,客户会下订单。他们选择一个包,下订单后,该包StandardMachines
会将其数据(类型、品牌、型号等)转储到新创建Machines
的 .
问题在于实体设计器为StandardPackageStandardMachine
关系创建联结表的方式。联结表有两列对应关系两端记录的 ID,联结表的主键是这两个 ID 的组合。因此,对于第一段中的示例,如果包 A 的 Id 为 1,包 B 的 Id 为 2,桌面 Y 的 Id 为 1,监视器 Z 的 Id 为 2,我需要的是
StandardPackageId | StandardMachineId
------------------|------------------
1 | 1
1 | 2
2 | 1
2 | 2
2 | 2
但显然你不能有两个 2/2 记录。
有没有一种好方法可以告诉实体设计器我打算做什么,以便它为联结表创建一个自动递增的主键列?还是我必须求助于手动创建联结表并自己处理关联?
顺便说一句,如果有人甚至知道如何改写我的问题标题,请这样做。