仅过滤 DBO schema/owner - 不显示 SYS 存储过程
Filter DBO schema/owner only - dont show SYS Stored Procedures
我正在通过 SMO 编写数据库中所有存储过程的脚本。
它现在从 DBO 和 SYS owner/schema's
返回存储过程
如何过滤它以仅显示来自 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);
}
StoredProcedure class 有一个 Schema 属性,你可以用它来过滤。
if (mySP.Schema == "dbo")
现在不确定 StoredProcedures 集合是否实现了正确的接口,但也许您甚至可以通过 LINQ 在 StoredProcedures 对象上直接过滤它
AdventureWorks.StoredProcedures.Where(p => p.Schema == "dbo")
我正在通过 SMO 编写数据库中所有存储过程的脚本。 它现在从 DBO 和 SYS owner/schema's
返回存储过程如何过滤它以仅显示来自 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);
}
StoredProcedure class 有一个 Schema 属性,你可以用它来过滤。
if (mySP.Schema == "dbo")
现在不确定 StoredProcedures 集合是否实现了正确的接口,但也许您甚至可以通过 LINQ 在 StoredProcedures 对象上直接过滤它
AdventureWorks.StoredProcedures.Where(p => p.Schema == "dbo")