DbSyncScopeDescription Class
Represents a synchronization scope, which is a logical grouping of tables (optionally filtered) that are synchronized as a unit.
Assembly: Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)
The DbSyncScopeDescription type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | DbSyncScopeDescription() | Initializes a new instance of the DbSyncScopeDescription class by using default values. |
![]() | DbSyncScopeDescription(String) | Initializes a new instance of the DbSyncScopeDescription class for the specified scope name. |
| Name | Description | |
|---|---|---|
![]() | ScopeName | Gets or sets the name of the scope. |
![]() | Tables | Gets or sets a list of DbSyncTableDescription objects that represents the tables in the scope. |
![]() | UserComment | Gets or sets the user comment about the scope. |
| Name | Description | |
|---|---|---|
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | ToString | Returns a string that represents the DbSyncScopeDescription object. (Overrides Object.ToString().) |
The following code example describes a scope named filtered_customer, and adds three tables to the scope: Customer, CustomerContact, and NewTable. The first two tables already exist in the server database, so the GetDescriptionForTable method is used to retrieve the schema from the server database. All columns from the Customer table are included, but only two columns from the CustomerContact table are included. The NewTable table is defined by using DbSyncTableDescription and DbSyncColumnDescription objects, and then the table is created in the server database (and in the other databases that synchronize with it). To view this code in the context of a complete example, see How To: Execute Database Synchronization (SQL Server).
DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("filtered_customer"); // Definition for Customer. DbSyncTableDescription customerDescription = SqlSyncDescriptionBuilder.GetDescriptionForTable("Sales.Customer", serverConn); scopeDesc.Tables.Add(customerDescription); // Definition for CustomerContact, including the list of columns to include. Collection<string> columnsToInclude = new Collection<string>(); columnsToInclude.Add("CustomerId"); columnsToInclude.Add("PhoneType"); DbSyncTableDescription customerContactDescription = SqlSyncDescriptionBuilder.GetDescriptionForTable("Sales.CustomerContact", columnsToInclude, serverConn); scopeDesc.Tables.Add(customerContactDescription); DbSyncTableDescription newTableDescription = new DbSyncTableDescription("Sales.NewTable"); DbSyncColumnDescription newTableIdCol = new DbSyncColumnDescription(); DbSyncColumnDescription newTableContentCol = new DbSyncColumnDescription(); newTableIdCol.UnquotedName = "NewTableId"; newTableIdCol.Type = "int"; newTableIdCol.IsPrimaryKey = true; newTableContentCol.UnquotedName = "NewTableContent"; newTableContentCol.Type = "nvarchar"; newTableContentCol.Size = "100"; newTableContentCol.IsPrimaryKey = false; newTableDescription.Columns.Add(newTableIdCol); newTableDescription.Columns.Add(newTableContentCol); scopeDesc.Tables.Add(newTableDescription);
Dim scopeDesc As New DbSyncScopeDescription("filtered_customer") ' Definition for Customer. Dim customerDescription As DbSyncTableDescription = SqlSyncDescriptionBuilder.GetDescriptionForTable("Sales.Customer", serverConn) scopeDesc.Tables.Add(customerDescription) ' Definition for CustomerContact, including the list of columns to include. Dim columnsToInclude As New Collection(Of String)() columnsToInclude.Add("CustomerId") columnsToInclude.Add("PhoneType") Dim customerContactDescription As DbSyncTableDescription = SqlSyncDescriptionBuilder.GetDescriptionForTable("Sales.CustomerContact", columnsToInclude, serverConn) scopeDesc.Tables.Add(customerContactDescription) Dim newTableDescription As New DbSyncTableDescription("Sales.NewTable") Dim newTableIdCol As New DbSyncColumnDescription() Dim newTableContentCol As New DbSyncColumnDescription() newTableIdCol.UnquotedName = "NewTableId" newTableIdCol.Type = "int" newTableIdCol.IsPrimaryKey = True newTableContentCol.UnquotedName = "NewTableContent" newTableContentCol.Type = "nvarchar" newTableContentCol.Size = "100" newTableContentCol.IsPrimaryKey = False newTableDescription.Columns.Add(newTableIdCol) newTableDescription.Columns.Add(newTableContentCol) scopeDesc.Tables.Add(newTableDescription)
