如何在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中,外键表下拉列表变灰了,这意味着他没有右键单击正确的表来添加外键。
总之,右键单击前键表,然后通过"表属性">"添加关系"选项选择相关的主键表。
我已经做过很多次了,并且有效。