在 Visual Studio 数据库项目中,在我向项目添加新的外键后,如何阻止它根据这些键检查数据?

Posted

技术标签:

【中文标题】在 Visual Studio 数据库项目中,在我向项目添加新的外键后,如何阻止它根据这些键检查数据?【英文标题】:In a visual studio database project, after I add new foreign keys to the project how do I stop it from checking the data against those keys? 【发布时间】:2012-06-26 02:50:05 【问题描述】:

在以前没有外键的情况下,我向数据库项目添加了一堆外键。在生成的 sql 文件 (sql/debug/$projectname.sql) 中,我看到一个以

开头的部分
PRINT N'Checking existing data against newly created constraints';
GO
USE [$(DatabaseName)];


GO
ALTER TABLE [dbo].[table1] WITH CHECK CHECK CONSTRAINT [FK_1];

ALTER TABLE [dbo].[table1] WITH CHECK CHECK CONSTRAINT [FK_2];

然后继续。

如何阻止数据库项目生成根据新约束检查数据的部分?我尝试使用

创建外键
ALTER TABLE dbo.table1 WITH NOCHECK
ADD CONSTRAINT [FK_1]
FOREIGN KEY (blah)
REFERENCES Table2 (blah2)

但没有骰子。有什么建议吗?

【问题讨论】:

【参考方案1】:

啊哈,在属性文件夹下的 Database.sqldeployment 属性页面中有一个名为 checkNewConstraints 的高级选项。这应该可以解决问题。

【讨论】:

能否请您粘贴图片(屏幕截图),因为我在 vs2010/2011/2012 中找不到该选项 @AnilPurswani 这很奇怪,我也找不到文件了 该文件本身称为 Database.sqldeployment,它位于属性文件夹中。以前可以展开数据库项目中的properties文件夹,点击文件,现在好像不行了! 在 VS 2013 中,您可以找到打开项目属性的此选项。在“调试”选项卡中,有一个会话“部署选项”,最后有一个“高级”按钮,可打开“高级部署设置”。在常规选项卡上,您会找到“新约束的脚本验证”选项。【参考方案2】:

在 VS 2019 中,您可以在下面的屏幕截图中找到它。取消选中“新约束的脚本验证”。

右键单击您的项目,您将在上下文菜单中找到发布。这将打开“发布数据库”对话框。按照1、2、3(取消勾选此选项),您将能够通过对表中现有数据的验证进行约束检查。

【讨论】:

以上是关于在 Visual Studio 数据库项目中,在我向项目添加新的外键后,如何阻止它根据这些键检查数据?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在我将文件添加到项目时,Visual Studio 会检出 .vspscc 文件?

Visual Studio 2010 SQL 数据库项目命令行架构比较

Visual Studio 数据库项目 - 部署到没有所有数据库引用的环境

我已经下载了我想在我的 Visual Studio 项目 EXPO 中使用的最新版本的 Gradle 7.3

Visual Studio:无法将ATL类添加到ATL项目中?

使用 Visual Studio 构建 FLTK 多线程 (MT) 项目