1

오프라인으로 작동 할 수 있도록 .NET 응용 프로그램에서 데이터베이스의 로컬 복사본을 만들어야합니다. 내 서버 데이터베이스는 SQL Server 2005이며 SQL Server 2008 Express로 복사됩니다.Microsoft Sync Framework를 사용하여 클라이언트 스키마 자동 생성

처음부터 시작하거나 기존 DB를 삭제하고, 모든 테이블/제약 조건/외래 키를 복사하고, 일부 테이블에서 데이터를 복사하는 것은 멋진 일일 필요는 없습니다. 내 데이터베이스에 "스키마 버전"을 유지해도 상관 없으므로 기존 스키마가 오래된 것일 때도 알 수 있습니다.

저는 Microsoft Sync Framework를 살펴 보았습니다. 데이터베이스에있는 각 테이블에 대해 SyncTable을 만들어야하고 솔직히 말해서 너무 많은 작업과 유지 관리가 필요합니다. 이것은 내가 예에서 찾는거야 코드입니다 :

SyncTable orderDetailSyncTable = new SyncTable("OrderDetail"); 
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable; 
orderDetailSyncTable.SyncDirection = SyncDirection.Snapshot; 
orderDetailSyncTable.SyncGroup = orderSyncGroup; 
this.Configuration.SyncTables.Add(orderDetailSyncTable); 

내가 내 데이터베이스의 모든 테이블을 나열하고 그들을 열거 할 수도있을 것 같군요하지만 더 나은 방법이 있어야처럼 그냥 보인다. Sync Framework에서 뭔가를 놓치고 있습니까? 아니면 이런 종류의 작업을 수행 할 다른 것이 있습니까?

답변

1

나는 Sync Framework를 포기했다. 대신 SQL Server Management Objects를 사용하여이 작업을 수행 할 수 있습니다.

http://msdn.microsoft.com/en-us/library/ms162169.aspx

+0

스위치가 만족 스럽습니까? Sync Framework 사용을 고려하고 있지만 동기화를 위해 각 테이블 및/또는 열을 설정하는 것이 매우 동적 인 접근 방식이 아니라는 것을 알았 기 때문에 좀 더 많은 피드백이 바람직 할 것입니다. –