다음을 통해 공유


DbServerSyncProvider.Schema 속성

서버의 테이블 스키마에 대한 정보가 포함된 SyncSchema 개체를 가져오거나 설정합니다.

네임스페이스: Microsoft.Synchronization.Data.Server
어셈블리: microsoft.synchronization.data.server.dll의 Microsoft.Synchronization.Data.Server

구문

‘선언
<SuppressMessageAttribute("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")> _
Public Property Schema As SyncSchema
‘사용 방법
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)

속성 값

서버의 테이블 스키마에 대한 정보가 포함된 SyncSchema 개체입니다.

주의

SyncSchema 개체는 동기화에 대한 스키마 정보를 포함합니다. 클라이언트가 서버측의 내부 데이터베이스에 액세스하지 않고 직접 스키마 정보를 가져올 수 있도록 이 개체를 수동으로 생성할 수 있습니다.

예제

다음 코드 예제에서는 OrderHeaderOrderDetail 테이블에 대한 스키마를 만듭니다. 이 코드에서는 먼저 OrderHeader 테이블만 포함된 DataSet을 기반으로 스키마를 만듭니다. SyncAdapter의 경우와 마찬가지로 테이블 이름은 SyncTable 이름과 일치해야 합니다. 그런 다음 OrderDetail 테이블에 대한 스키마가 수동으로 추가됩니다. 이것은 응용 프로그램에 필요한 경우 데이터 형식을 매핑할 위치입니다. 전체 예제의 맥락에서 이 코드를 보려면 방법: 클라이언트 데이터베이스 초기화 및 테이블 스키마 사용을 참조하십시오.

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 네임스페이스