Класс DbSyncColumnDescription
Представляет схему столбца, включенного в список Columns объекта DbSyncTableDescription. Используется при провизионировании базы данных.
Пространство имен: Microsoft.Synchronization.Data
Сборка: Microsoft.Synchronization.Data (в Microsoft.Synchronization.Data.dll)
Синтаксис
'Декларация
<SerializableAttribute> _
Public Class DbSyncColumnDescription
'Применение
Dim instance As DbSyncColumnDescription
[SerializableAttribute]
public class DbSyncColumnDescription
[SerializableAttribute]
public ref class DbSyncColumnDescription
[<SerializableAttribute>]
type DbSyncColumnDescription = class end
public class DbSyncColumnDescription
Примеры
В следующем примере кода описывается область с именем filtered_customer, в которую добавляются три таблицы: Customer, CustomerContact и NewTable. Первые две таблицы уже существуют в серверной базе данных, поэтому для получения схемы из серверной базы данных используется метод GetDescriptionForTable. Включены все столбцы из таблицы Customer, а из таблицы CustomerContact включено только два столбца. Таблица NewTable определяется с помощью объектов DbSyncTableDescription и DbSyncColumnDescription, после чего создается в серверной базе данных (и в других базах данных, которые с ней синхронизируются). Чтобы просмотреть этот код в контексте полного примера, см. раздел Как настроить и выполнить синхронизацию базы данных (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)
Иерархия наследования
System. . :: . .Object
Microsoft.Synchronization.Data..::..DbSyncColumnDescription
Потоковая защита
Все открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность элементов экземпляров не гарантируется.