我有一个 Visual Studio 数据库项目,其中包含一系列具有外键约束的表。
发布脚本包括添加约束脚本:
ALTER TABLE [dbo].[AttributeValue] WITH NOCHECK
ADD CONSTRAINT [FK_AttributeValue_Attribute]
FOREIGN KEY ([AttributeId]) REFERENCES [dbo].[Attribute] ([AttributeId]);
在脚本的最后,它启用了约束:
ALTER TABLE [dbo].[AttributeValue] WITH CHECK CHECK CONSTRAINT [FK_AttributeValue_Attribute];
问题是,它无法启用约束,因为它认为它不存在。如果我检查表格,我可以确认它不存在。
为什么没有创建约束?
如果我单独运行脚本,则创建工作和启用工作。