【发布时间】:2023-03-09 08:30:01
【问题描述】:
Visual Studio 2005 不提供用于在 SQL Server CE 数据库(我使用的是 3.0 版)中创建表之间关系的接口,据我所知,您无法使用 Management Studio 打开 Compact Edition DB。有什么想法吗?
【问题讨论】:
标签: database visual-studio sql-server-ce visual-studio-2005
Visual Studio 2005 不提供用于在 SQL Server CE 数据库(我使用的是 3.0 版)中创建表之间关系的接口,据我所知,您无法使用 Management Studio 打开 Compact Edition DB。有什么想法吗?
【问题讨论】:
标签: database visual-studio sql-server-ce visual-studio-2005
Visual Studio 2008 确实有一个允许您添加 FK 的设计器。只需右键单击表格...表格属性,然后转到“添加关系”部分。
【讨论】:
Walkthrough: Creating a SQL Server Compact 3.5 Database
在上一个过程中创建的表之间创建关系
【讨论】:
我知道自从第一次提出这个问题以来已经“很长时间”了。以防万一,如果它对某人有帮助,
MS 通过 SQL Server Compact Tool Box (https://sqlcetoolbox.codeplex.com/) 很好地支持添加关系。只需安装它,然后您就可以选择使用服务器资源管理器窗口连接到紧凑型数据库。右键单击主表,选择“表属性”。您应该有以下窗口,其中包含允许您添加关系的“添加关系”选项卡。
【讨论】:
create table employee
(
empid int,
empname varchar(40),
designation varchar(30),
hiredate datetime,
Bsalary int,
depno constraint emp_m foreign key references department(depno)
)
我们应该有一个主键来创建两个或多个表之间的外键或关系。
【讨论】:
不幸的是,目前没有设计器支持(与 SQL Server 2005 不同)用于在 SQL Server CE 中建立表之间的关系。要建立关系,您需要使用 SQL 命令,例如:
ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
如果您正在进行 CE 开发,我会推荐这个常见问题解答:
编辑:在 Visual Studio 2008 中,现在可以通过右键单击您的表格在 GUI 中完成。
【讨论】:
艾伦说有设计师的支持是正确的。当他暗示你不能选择外键表时,Rhywun 是不正确的。他的意思是,在 UI 中,外键表下拉菜单是灰色的——这意味着他没有右键单击正确的表来添加外键。
总而言之,右键单击外键表,然后通过“表属性”>“添加关系”选项选择相关的主键表。
我已经做过很多次了,效果很好。
【讨论】:
您需要创建一个查询(在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)
【讨论】: