Compartir a través de


SyncSchema Clase

Representa la información de esquema necesaria para crear las tablas implicadas en la sincronización.

Espacio de nombres:  Microsoft.Synchronization.Data
Ensamblado:  Microsoft.Synchronization.Data (en Microsoft.Synchronization.Data.dll)

Sintaxis

'Declaración
<SerializableAttribute> _
Public Class SyncSchema _
    Implements IDisposable
'Uso
Dim instance As SyncSchema
[SerializableAttribute]
public class SyncSchema : IDisposable
[SerializableAttribute]
public ref class SyncSchema : IDisposable
[<SerializableAttribute>]
type SyncSchema =  
    class
        interface IDisposable
    end
public class SyncSchema implements IDisposable

Notas

El objeto SyncSchema contiene la información de esquema necesaria para la sincronización. Puede construir manualmente este objeto, de forma que el cliente pueda obtener la información de esquema directamente, sin necesidad de tener acceso a la base de datos subyacente ubicada en el servidor.

Ejemplos

El ejemplo de código siguiente crea un esquema para las tablas OrderHeader y OrderDetail. El código crea primero un esquema basado en un elemento DataSet que incluye únicamente la tabla OrderHeader. Tal y como ocurre con SyncAdapter, el nombre de la tabla debe coincidir con el nombre de SyncTable. A continuación, el esquema para la tabla OrderDetail se agrega manualmente. Este es el lugar para asignar tipos de datos si es lo que solicita la aplicación.

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

Jerarquía de herencia

System. . :: . .Object
  Microsoft.Synchronization.Data..::..SyncSchema

Seguridad para subprocesos

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

SyncSchema Miembros

Microsoft.Synchronization.Data Espacio de nombres