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 개체는 동기화에 대한 스키마 정보를 포함합니다. 클라이언트가 서버측의 내부 데이터베이스에 액세스하지 않고 직접 스키마 정보를 가져올 수 있도록 이 개체를 수동으로 생성할 수 있습니다.
예제
다음 코드 예제에서는 OrderHeader
및 OrderDetail
테이블에 대한 스키마를 만듭니다. 이 코드에서는 먼저 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 네임스페이스