0

我正在通过 SMO 为数据库中的所有存储过程编写脚本。它现在从 DBO 和 SYS 所有者/模式返回存储过程

如何过滤它以仅显示来自 DBO 的 SP 请:

            StringCollection spScripts = AdventureWorks.Script(scriptOptions);
            foreach (StoredProcedure mySP in AdventureWorks.StoredProcedures)
            {
                foreach (string script in spScripts)
                    sw.WriteLine(script);

                /* Generating CREATE TABLE command */
                spScripts = mySP.Script();
                foreach (string script in spScripts)
                    sw.WriteLine(script);
            }
4

1 回答 1

1

StoredProcedure 类有一个 Schema 属性,您可以使用它来过滤。

if (mySP.Schema == "dbo")

现在不确定,如果 StoredProcedures 集合实现了正确的接口,但也许你甚至可以通过 LINQ 直接在 StoredProcedures 对象上过滤它

AdventureWorks.StoredProcedures.Where(p => p.Schema == "dbo")
于 2015-06-12T08:15:45.677 回答