GetDefaultInitFields 方法
傳回當初始化指定的物件時,預設會初始化的屬性類型。
命名空間: Microsoft.SqlServer.Management.Smo
組件: Microsoft.SqlServer.Smo (在 Microsoft.SqlServer.Smo.dll 中)
語法
'宣告
Public Function GetDefaultInitFields ( _
typeObject As Type _
) As StringCollection
'用途
Dim instance As Server
Dim typeObject As Type
Dim returnValue As StringCollection
returnValue = instance.GetDefaultInitFields(typeObject)
public StringCollection GetDefaultInitFields(
Type typeObject
)
public:
StringCollection^ GetDefaultInitFields(
Type^ typeObject
)
member GetDefaultInitFields :
typeObject:Type -> StringCollection
public function GetDefaultInitFields(
typeObject : Type
) : StringCollection
參數
- typeObject
型別:System. . :: . .Type
指定物件類型的 Type 系統物件。
傳回值
型別:System.Collections.Specialized. . :: . .StringCollection
StringCollection 系統物件,包含初始化指定的物件時,依預設初始化的屬性類型清單。
備註
This method is used to control the way in which object properties are initialized in an SMO application. You can use this method to optimize your SMO application.
範例
Visual Basic
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Assign the Table object type to a System.Type object variable.
Dim tb As Table
Dim typ As Type
tb = New Table
typ = tb.GetType
'Assign the current default initialization fields for the Table object type to a
'StringCollection object variable.
Dim sc As StringCollection
sc = srv.GetDefaultInitFields(typ)
'Set the default initialization fields for the Table object type to the CreateDate property.
srv.SetDefaultInitFields(typ, "CreateDate")
'Retrieve the Schema, Name, and CreateDate properties for every table in AdventureWorks2008R2.
'Note that the improvement in performance can be viewed in SQL Profiler.
For Each tb In db.Tables
Console.WriteLine(tb.Schema + "." + tb.Name + " " + tb.CreateDate)
Next
'Set the default initialization fields for the Table object type back to the original settings.
srv.SetDefaultInitFields(typ, sc)
PowerShell
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2008R2")
$tb = new-object Microsoft.SqlServer.Management.Smo.Table
$typ = $tb.GetType()
$sc = $srv.GetDefaultInitFields($typ)
$srv.SetDefaultInitFields($typ, "CreateDate")
foreach ($tb in $db.Tables)
{
Write-Host $tb.Schema,".",$tb.Name,".",$tb.CreateDate
}
$srv.SetDefaultInitFields($typ, $sc)