获得';带支票';使用VS2010 sql Server数据库项目在sql脚本中输出?
我在VS2010 SQL Server数据库项目中添加了一个外键约束,并对其进行了修改,以在约束上指定“WITH CHECK”获得';带支票';使用VS2010 sql Server数据库项目在sql脚本中输出?,sql,sql-server,visual-studio-2010,sql-server-2008,Sql,Sql Server,Visual Studio 2010,Sql Server 2008,我在VS2010 SQL Server数据库项目中添加了一个外键约束,并对其进行了修改,以在约束上指定“WITH CHECK” ALTER TABLE [dbo].[Foo] WITH CHECK ADD CONSTRAINT [FK_FooBar] FOREIGN KEY ([BarKey]) REFERENCES [dbo].[Bar] ([Key]) 生成架构的.sql输出已插入“WITH NOCHECK”。如果您根本不指定任何内容,这似乎是默认设置。为该项目生成的.dbschema
ALTER TABLE [dbo].[Foo] WITH CHECK
ADD CONSTRAINT [FK_FooBar]
FOREIGN KEY ([BarKey])
REFERENCES [dbo].[Bar] ([Key])
生成架构的.sql输出已插入“WITH NOCHECK”。如果您根本不指定任何内容,这似乎是默认设置。为该项目生成的.dbschema文件没有指定CHECK或NOCHECK,因此我有点困惑它来自何处
有人知道怎么做吗
干杯拉斯塔
创建新约束时,和CHECK
是默认值,因此.dbschema不必为您指定该约束
通过查看为我的数据库项目创建的.sql文件,我发现在创建外键时,外键也带有NOCHECK。这是为了在创建整个结构之前防止违反约束。为您生成的.sql文件的最后几行应该是正在检查的外键,因为结构已经完成。对于上面的示例,它们将如下所示:
ALTER TABLE [dbo].[Foo] WITH CHECK CHECK CONSTRAINT [FK_FooBar];
这些将使.sql文件提供所需的结果。Rasta
创建新约束时,和CHECK
是默认值,因此.dbschema不必为您指定该约束
通过查看为我的数据库项目创建的.sql文件,我发现在创建外键时,外键也带有NOCHECK。这是为了在创建整个结构之前防止违反约束。为您生成的.sql文件的最后几行应该是正在检查的外键,因为结构已经完成。对于上面的示例,它们将如下所示:
ALTER TABLE [dbo].[Foo] WITH CHECK CHECK CONSTRAINT [FK_FooBar];
这些将使.sql文件提供所需的结果