0

至少,这就是它对我而言的样子。我正在使用Sql Server CE 4.0和Visual Studio 2010.这是我第一次使用Sql Server CE。Sql Server CE外键显示为主键

例如,我有两个表。一个被称为模板:

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

另一种是所谓的产品:

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

创建这些表之后,我试图建立表之间的TemplateID领域的产品和一个外键关系模板中的TemplateID字段。

建立关系后,当我查看服务器资源管理器中的Products表时,我发现TemplateID已被标记为Products中的主键。这不应该是该表中的主键!

这是否仅仅是CE表格演示的一些奇怪 - 意味着外键是其他表格中的主键?看起来并非如此,因为单击Products表格中的TemplateID列,并在Properties窗口中展开Identity标签,显示“Table”是Products,而不是Templates。

如果任何人都可以阐明这种陌生感,我会非常感激。

+0

你能分享T-SQL中两个表的模式吗? –

回答

0

一些测试证实,外键不作为主键的一部分,即使在Visual Studio中也是如此。

因此,显然这只是一种笨拙,混乱的方式来显示在Visual Studio服务器资源管理器中的表的字段。

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