Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ottiene o imposta un oggetto SyncSchema contenente informazioni sullo schema di tabella sul server.
Spazio dei nomi: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (in microsoft.synchronization.data.server.dll)
Sintassi
'Dichiarazione
<SuppressMessageAttribute("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")> _
Public Property Schema As SyncSchema
'Utilizzo
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)
Valore proprietà
Oggetto SyncSchema contenente informazioni sullo schema di tabella sul server.
Osservazioni
L'oggetto SyncSchema contiene le informazioni sullo schema per la sincronizzazione. È possibile costruire manualmente tale oggetto in modo che il client possa ottenere le informazioni sullo schema direttamente senza accedere al database sottostante sul lato server.
Esempio
Nell'esempio di codice seguente viene creato lo schema per le tabelle OrderHeader e OrderDetail. Il codice crea prima uno schema basato su un DataSet contenente solo la tabella OrderHeader. Come nel caso di SyncAdapter, il nome della tabella deve corrispondere al nome di SyncTable. Lo schema relativo alla tabella OrderDetail viene quindi aggiunto manualmente. Si tratta del punto in cui eseguire il mapping dei tipi di dati, se richiesto da un'applicazione. Per visualizzare questo codice nel contesto di un esempio completo, vedere Procedura: inizializzare il database client e utilizzare lo schema della tabella.
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
Vedere anche
Riferimento
Classe DbServerSyncProvider
Membri DbServerSyncProvider
Spazio dei nomi Microsoft.Synchronization.Data.Server