如何在SQL Server CE(精简版)数据库中创建外键关系?

时间:2020-03-05 18:48:30  来源:igfitidea点击:

Visual Studio 2005不提供用于在SQL Server CE数据库中的表之间创建关系的界面(我使用的是3.0版),据我所知,我们无法使用Management Studio打开Compact Edition DB。有任何想法吗?

解决方案

回答

不幸的是,当前不存在用于在SQL Server CE中建立表之间关系的设计器支持(与SQL Server 2005不同)。要建立关系,我们需要使用SQL命令,例如:

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

如果我们正在进行CE开发,我将推荐此常见问题解答:

编辑:在Visual Studio 2008中,现在可以通过右键单击表在GUI中执行此操作。

回答

我们需要创建一个查询(在Visual Studio中,右键单击数据库连接->新建查询)并执行以下SQL:

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE

要验证外键是否已创建,请执行以下SQL:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

感谢E Jensen(http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

回答

Visual Studio 2008确实具有允许我们添加FK的设计器。只需右键单击表...表属性,然后转到"添加关系"部分。

高温超导

回答

艾伦说有设计师的支持是正确的。当Rhywun暗示我们无法选择外键表时,他是不正确的。他的意思是,在UI中,外键表下拉列表变灰了,这意味着他没有右键单击正确的表来添加外键。

总之,右键单击前键表,然后通过"表属性">"添加关系"选项选择相关的主键表。

我已经做过很多次了,并且有效。