“ Microsoft.SqlServer.Management.Smo”库中“数据库”类的“ InitTableColumns”方法有什么作用?

时间:2019-11-13 20:16:51

标签: c# sql-server smo

在“ Microsoft.SqlServer.Management.Smo” nuget包中,有一个“ Database”类,该类具有“ InitTableColumns”方法。就像所说的库中的任何方法一样,这个还没有总结。更奇怪的是,互联网上没有任何提及(是的,是的)。

尤其是MSDN Database class页面。

那么,有人知道它做什么吗?

1 个答案:

答案 0 :(得分:1)

通常最好避免使用未记录的方法:)

如果要反编译,可以使用DotPeek(来自JetBrains)或ILSpy之类的程序。

一旦安装了反编译程序,您需要找到要反编译的dll。反编译将采用已编译的.NET代码,并将其转换回应该更易于阅读的C#(请注意,并非总是如此)。

查找dll很容易,您可以将其从已编译代码的bin文件夹中拉出,也可以通过在VS解决方案资源管理器下拉列表中找到依赖项Microsoft.SqlServer.SqlManagementObjects来浏览找到它的路径。 -下来,右键单击依赖项,单击“属性”,然后复制在属性窗口中显示的路径。

现在您有了dll的路径,您可以使用反编译器在该路径下打开dll并对其进行反编译。反编译后,反编译程序将允许您浏览dll中包含的名称空间,类和方法。

这就是我对InitTableColumns()

的了解
public void InitTableColumns()
{
    this.InitChildLevel((Urn)"Table", (ScriptingPreferences)null, false);
    this.InitChildLevel((Urn)"Table/Column", (ScriptingPreferences)null, false);
}

随后,我将带领我逐步了解代码,试图了解该库的实现方式!