Compartir a través de


Schema Propiedad

Obtiene o establece un objeto SyncSchema que contiene información sobre el esquema de tablas del servidor.

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

Sintaxis

'Declaración
Public Property Schema As SyncSchema
    Get
    Set
'Uso
Dim instance As DbServerSyncProvider
Dim value As SyncSchema

value = instance.Schema

instance.Schema = value
public SyncSchema Schema { get; set; }
public:
property SyncSchema^ Schema {
    SyncSchema^ get ();
    void set (SyncSchema^ value);
}
member Schema : SyncSchema with get, set
function get Schema () : SyncSchema
function set Schema (value : SyncSchema)

Valor de la propiedad

Tipo: Microsoft.Synchronization.Data. . :: . .SyncSchema
Objeto SyncSchema que contiene información sobre el esquema de tablas del servidor.

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 una aplicación. Para consultar este código en el contexto de un ejemplo completo, vea Inicializar la base de datos cliente y trabajar con el esquema de tablas.

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

Vea también

Referencia

DbServerSyncProvider Clase

DbServerSyncProvider Miembros

Microsoft.Synchronization.Data.Server Espacio de nombres