C#SMO脚本约束命令

时间:2017-06-02 14:21:43

标签: c# smo

我正在使用SMO生成我的表和数据库的脚本。

以下是我的脚本编写器选项代码:

        Scripter CreateScrp = new Scripter(srv);
        CreateScrp.Options.ScriptDrops = false; // Script drop statements
        CreateScrp.Options.WithDependencies = true; // Walk dependencies
        CreateScrp.Options.DriAllConstraints = true;   // to include referential constraints in the script
        CreateScrp.Options.Triggers = true; // Script triggers
        CreateScrp.Options.NoCollation = false; // Use default collation       
        CreateScrp.Options.ExtendedProperties = true; // Script Extended Properties
        CreateScrp.Options.SchemaQualify = true; // Qualify objects with schema names
        CreateScrp.Options.ScriptSchema = true; // Script schema
        CreateScrp.Options.IncludeDatabaseContext = true;
        CreateScrp.Options.EnforceScriptingOptions = true;
        CreateScrp.ScriptingProgress += CreateScrp_ScriptingProgress;

但是当我执行查询时,约束(这里是外键)有错误,因为尚未创建外键来自的表。 在我生成的脚本中,MaterialActual表在MaterialUse之前创建。

SQL Server错误: 消息1767,16级,状态0,行561 外键' FK_MaterialActual_MaterialUse'引用无效表格' dbo.MaterialUse'。

问题来自表创建的顺序。 脚本编写器中是否有任何选项?

此致

0 个答案:

没有答案