【发布时间】:2009-07-31 09:17:34
【问题描述】:
我最近开始使用 Visual Studio 2008 和 SQL Server Express。我来自 Emacs/Django 背景,所以我不习惯这种工作方式。是否有任何快速简便的方法可以在其他两个表之间设置多对多表?这相当于 Django 中 ManyToManyField 生成的表。
【问题讨论】:
标签: sql-server database visual-studio many-to-many
我最近开始使用 Visual Studio 2008 和 SQL Server Express。我来自 Emacs/Django 背景,所以我不习惯这种工作方式。是否有任何快速简便的方法可以在其他两个表之间设置多对多表?这相当于 Django 中 ManyToManyField 生成的表。
【问题讨论】:
标签: sql-server database visual-studio many-to-many
是的,假设您有两个表:SALESPERSON 和 SALESREGION。一个销售人员可以与多个地区相关联,反之亦然。假设 SALESPERSON 有一个非复合主键:salesperson_id (int,pk),SALESREGION 也有相同的主键:salesregion_id (int,pk)。
创建另一个名为 SALESPERSON_SALESREGION 的表,其中包含两个外键列:salesperson_id (int) 和 salesregion_id (int)。为该表创建一个包含两列的复合主键。
现在,添加和删除关系就像在新表中添加和删除行一样简单。
像Entity Spaces 这样的一些ORM 框架,我假设新的ADO.NET Entity Framework 能够识别这种模式,并将在生成的实体数据访问层中创建多对多结构。
【讨论】: