Classe SyncSchema
Représente les informations de schéma requises pour créer les tables impliquées dans la synchronisation.
Espace de noms : Microsoft.Synchronization.Data
Assembly : Microsoft.Synchronization.Data (dans Microsoft.Synchronization.Data.dll)
Syntaxe
'Déclaration
<SerializableAttribute> _
Public Class SyncSchema _
Implements IDisposable
'Utilisation
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
Notes
L'objet SyncSchema contient les informations de schéma pour la synchronisation. Vous pouvez constituer manuellement cet objet afin que le client puisse obtenir les informations de schéma directement sans accéder à la base de données sous-jacente côté serveur.
Exemples
L'exemple de code suivant crée le schéma pour les tables OrderHeader et OrderDetail. Le code crée d'abord un schéma basé sur un DataSet qui contient uniquement la table OrderHeader. Comme avec SyncAdapter, le nom de table doit correspondre au nom de SyncTable. Le schéma de la table OrderDetail est ensuite ajouté manuellement. Il s'agit de l'emplacement où les types de données doivent être mappés si l'application l'exige.
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
Hiérarchie d'héritage
System. . :: . .Object
Microsoft.Synchronization.Data..::..SyncSchema
Sécurité des threads
Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.