我最近开始使用Visual Studio 2008和SQL Server Express。我来自Emacs / Django背景,所以我不习惯这种工作方式。有没有快速简便的方法在两个其他表之间设置多对多表?这相当于Django中ManyToManyField
生成的表。
答案 0 :(得分:1)
是的,假设你有两张桌子:SALESPERSON和SALESREGION。单个销售人员可以与多个区域相关联,反之亦然。假设SALESPERSON有一个非复合主键:salesperson_id(int,pk)和SALESREGION具有相同的:salesregion_id(int,pk)。
使用两个外键列创建另一个名为SALESPERSON_SALESREGION的表:salesperson_id(int)和salesregion_id(int)。为此表创建包含两列的复合主键。
现在,添加和删除关系就像在新表中添加和删除行一样简单。
一些ORM框架,如Entity Spaces,我假设新ADO.NET Entity Framework识别此模式,并将在生成的实体数据访问层中创建多对多结构。