Sql Server CE外键显示为主键

时间:2012-05-18 22:58:24

标签: visual-studio sql-server-ce foreign-key-relationship sql-server-ce-4

至少,这就是它对我的看法。我正在使用Sql Server CE 4.0和Visual Studio 2010.这是我第一次使用Sql Server CE。

例如,我有两张桌子。一个叫做模板:

TemplateID (int, primary key, identity)
TemplateName (nvarchar)

另一种叫做产品:

ProductID (int, primary key, identity)
TemplateID (int, foreign key relationship with Templates)
ProductName (nvarchar)

创建这些表后,我尝试在Products中的TemplateID字段和Templates中的TemplateID字段中的表之间设置外键关系。

设置关系后,当我查看Server Explorer中的Products表时,我看到TemplateID已被标记为Products中的主键。这不应该是该表中的主键!

这只是CE表的一些奇怪的表示 - 这意味着外键是其他表中的主键吗?它似乎不是这样,因为单击Products表中的TemplateID列,并在Properties窗口中展开Identity标签,显示“Table”是Products,而不是Templates。

如果有人能说清楚这种陌生感,我会非常感激。

1 个答案:

答案 0 :(得分:0)

某些测试确认外键不包含在主键的一部分中,尽管Visual Studio中显示。

因此,显然这只是一种在Visual Studio Server Explorer中显示表字段的笨拙,令人困惑的方式。

Yeesh。我已经想念Management Studio了......