Visual Studio 2005没有提供用于在SQL Server CE数据库中创建表之间关系的界面(我使用的是3.0版),据我所知,您无法使用Management Studio打开Compact Edition数据库。有什么想法吗?
答案 0 :(得分:70)
不幸的是,目前没有设计人员支持(与SQL Server 2005不同)在SQL Server CE中构建表之间的关系。要建立关系,您需要使用SQL命令,例如:
ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
如果你正在进行CE开发,我会推荐这个FAQ:
编辑:在Visual Studio 2008中,现在可以通过右键单击表格在GUI中执行此操作。
答案 1 :(得分:44)
Visual Studio 2008 确实拥有一个允许您添加FK的设计器。只需右键单击表格...表格属性,然后转到“添加关系”部分。
答案 2 :(得分:7)
您需要创建一个查询(在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)
答案 3 :(得分:3)
总之,右键单击foriegn密钥表,然后通过'Table Properties'> “添加关系”选项可选择相关的主键表。
我已经做了很多次,但它确实有效。
答案 4 :(得分:2)
Walkthrough: Creating a SQL Server Compact 3.5 Database
在上一过程中创建的表之间创建关系
答案 5 :(得分:1)
create table employee
(
empid int,
empname varchar(40),
designation varchar(30),
hiredate datetime,
Bsalary int,
depno constraint emp_m foreign key references department(depno)
)
我们应该有一个主键来创建两个或多个表之间的外键或关系。
答案 6 :(得分:1)
我知道这是一个“很长时间”,因为这个问题是第一次被问到的。以防万一,如果有人帮助,
MS通过SQL Server Compact Tool Box(https://sqlcetoolbox.codeplex.com/)很好地支持添加关系。只需安装它,您就可以使用Server Explorer窗口连接到Compact Database。右键单击主表,选择“表属性”。您应该有以下窗口,其中包含“添加关系”选项卡,允许您添加关系。