共用方式為


Schema 屬性

取得或設定 SyncSchema 物件,此物件包含與伺服器上資料表結構描述有關的資訊。

命名空間:  Microsoft.Synchronization.Data.Server
組件:  Microsoft.Synchronization.Data.Server (在 Microsoft.Synchronization.Data.Server.dll 中)

語法

'宣告
Public Property Schema As SyncSchema
    Get
    Set
'用途
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)

屬性值

型別:Microsoft.Synchronization.Data. . :: . .SyncSchema
SyncSchema 物件,此物件包含與伺服器上資料表結構描述有關的資訊。

備註

SyncSchema 物件包含用於同步處理的結構描述資訊。您可以手動建構這個物件,好讓用戶端可以直接取得結構描述資訊,而不需要存取伺服器端的基礎資料庫。

範例

下列程式碼範例會針對 OrderHeader 和 OrderDetail 資料表建立結構描述。此程式碼會先根據只包含 OrderHeader 資料表的 DataSet 建立結構描述。就如同 SyncAdapter 一樣,此資料表名稱必須符合 SyncTable 名稱。然後會手動加入 OrderDetail 資料表的結構描述。如果應用程式要求的話,這就是對應資料類型的地方。若要在完整範例的內容中檢視這段程式碼,請參閱 HOW TO:初始化用戶端資料庫及使用資料表結構描述

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 命名空間