Свойство DbServerSyncProvider.Schema

Возвращает или задает объект SyncSchema, содержащий сведения о схеме таблицы на сервере.

Пространство имен: Microsoft.Synchronization.Data.Server
Сборка: Microsoft.Synchronization.Data.Server (в microsoft.synchronization.data.server.dll)

Синтаксис

'Декларация
<SuppressMessageAttribute("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")> _
Public Property Schema As SyncSchema
'Применение
Dim instance As DbServerSyncProvider
Dim value As SyncSchema

value = instance.Schema

instance.Schema = value
[SuppressMessageAttribute("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")] 
public SyncSchema Schema { get; set; }
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1721:PropertyNamesShouldNotMatchGetMethods")] 
public:
property SyncSchema^ Schema {
    SyncSchema^ get ();
    void set (SyncSchema^ value);
}
/** @property */
public SyncSchema get_Schema ()

/** @property */
public void set_Schema (SyncSchema value)
public function get Schema () : SyncSchema

public function set Schema (value : SyncSchema)

Значение свойства

Объект SyncSchema, содержащий сведения о схеме таблицы на сервере.

Замечания

Объект SyncSchema содержит сведения о схеме для синхронизации. Этот объект можно создать вручную, чтобы клиент мог получать данные схемы напрямую, не выполняя доступ к базе данных на стороне сервера.

Пример

В следующем примере кода создается схема для таблиц OrderHeader и OrderDetail. Сначала код создает схему на основе DataSet, который содержит только таблицу OrderHeader. Как и для объекта SyncAdapter, таблица должна иметь имя SyncTable. Затем вручную добавляется схема для таблицы OrderDetail. Затем необходимо выполнить сопоставление типов данных, если это необходимо приложению. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как инициализировать клиентскую базу данных и работать со схемой таблицы.

DataSet orderHeaderDataSet = Utility.CreateDataSetFromServer();
orderHeaderDataSet.Tables[0].TableName = "OrderHeader";
this.Schema = new SyncSchema(orderHeaderDataSet);

this.Schema.Tables.Add("OrderDetail");

this.Schema.Tables["OrderDetail"].Columns.Add("OrderDetailId");
this.Schema.Tables["OrderDetail"].Columns["OrderDetailId"].ProviderDataType = "int";
this.Schema.Tables["OrderDetail"].Columns["OrderDetailId"].AllowNull = false;

this.Schema.Tables["OrderDetail"].Columns.Add("OrderId");
this.Schema.Tables["OrderDetail"].Columns["OrderId"].ProviderDataType = "uniqueidentifier";
this.Schema.Tables["OrderDetail"].Columns["OrderId"].RowGuid = true;
this.Schema.Tables["OrderDetail"].Columns["OrderId"].AllowNull = false;

this.Schema.Tables["OrderDetail"].Columns.Add("Product");
this.Schema.Tables["OrderDetail"].Columns["Product"].ProviderDataType = "nvarchar";
this.Schema.Tables["OrderDetail"].Columns["Product"].MaxLength = 100;
this.Schema.Tables["OrderDetail"].Columns["Product"].AllowNull = false;

this.Schema.Tables["OrderDetail"].Columns.Add("Quantity");
this.Schema.Tables["OrderDetail"].Columns["Quantity"].ProviderDataType = "int";
this.Schema.Tables["OrderDetail"].Columns["Quantity"].AllowNull = false;
           
//The primary key columns are passed as a string array.
string[] orderDetailPrimaryKey = new string[2];
orderDetailPrimaryKey[0] = "OrderDetailId";
orderDetailPrimaryKey[1] = "OrderId";
this.Schema.Tables["OrderDetail"].PrimaryKey = orderDetailPrimaryKey;
Dim orderHeaderDataSet As DataSet = Utility.CreateDataSetFromServer()
orderHeaderDataSet.Tables(0).TableName = "OrderHeader"
Me.Schema = New SyncSchema(orderHeaderDataSet)

With Me.Schema
    .Tables.Add("OrderDetail")

    .Tables("OrderDetail").Columns.Add("OrderDetailId")
    .Tables("OrderDetail").Columns("OrderDetailId").ProviderDataType = "int"
    .Tables("OrderDetail").Columns("OrderDetailId").AllowNull = False

    .Tables("OrderDetail").Columns.Add("OrderId")
    .Tables("OrderDetail").Columns("OrderId").ProviderDataType = "uniqueidentifier"
    .Tables("OrderDetail").Columns("OrderId").RowGuid = True
    .Tables("OrderDetail").Columns("OrderId").AllowNull = False

    .Tables("OrderDetail").Columns.Add("Product")
    .Tables("OrderDetail").Columns("Product").ProviderDataType = "nvarchar"
    .Tables("OrderDetail").Columns("Product").MaxLength = 100
    .Tables("OrderDetail").Columns("Product").AllowNull = False

    .Tables("OrderDetail").Columns.Add("Quantity")
    .Tables("OrderDetail").Columns("Quantity").ProviderDataType = "int"
    .Tables("OrderDetail").Columns("Quantity").AllowNull = False
End With        

'The primary key columns are passed as a string array.
Dim orderDetailPrimaryKey(1) As String
orderDetailPrimaryKey(0) = "OrderDetailId"
orderDetailPrimaryKey(1) = "OrderId"
Me.Schema.Tables("OrderDetail").PrimaryKey = orderDetailPrimaryKey

См. также

Справочник

Класс DbServerSyncProvider
Элементы DbServerSyncProvider
Пространство имен Microsoft.Synchronization.Data.Server