仅过滤DBO架构/所有者 - 不显示SYS存储过程

时间:2015-06-12 08:05:27

标签: c# sql smo sys dbo

我正在通过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);
            }

1 个答案:

答案 0 :(得分:1)

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

if (mySP.Schema == "dbo")

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

AdventureWorks.StoredProcedures.Where(p => p.Schema == "dbo")