03. [Microsoft Sync Framework] Tạo Scope và Provisioning
- Ở bài trước ta đã tạo được database ở bài này ta sẽ tiếp tục làm các bước tạo Scope và Provisioning vậy Scope là gì dưới đây là định nghĩa tiếng anh của nó, các bạn cứ hiểu đại khái Scope là phạm vi động bộ chẳng hạn trong database của các bạn có 10 bảng và bạn chỉ muốn đồng bộ 3 bảng thì bạn cần tạo scope cho 3 bảng này. và trong 3 bảng này bạn có thể chỉ ra cột nào cần đồng bộ cột nào không.Synchronization scopes describe what you want to synchronize between two databases. Only items that fit within the scope description are synchronized; all other items outside the scope are not synchronized. A scope contains a description of the tables that are synchronized. For each table in the scope, you can specify that only a subset of the columns is included in the scope, and you can define a filter that limits the rows that are included in the scope- Provisioning: Khi tạo Scope Microsoft Sync Framework sẽ tự động tạo thêm trong database nhiều Trigger và Store Procedure mục đích là để change-tracking (theo dõi các hành động insert/update/delete trong table) và metadata management (quản lý siêu dữ liệu). Metadata là phần dữ liệu chưa các thông tin về dữ liệu như dữ liệu nào đã bi thay đổi , dữ liệu nào đã được đồng bộ...
- Bước tiếp theo tôi sẽ tạo Project C#. Mở Visual Studio tạo Console Application đăt tên project ProvisionServer và tên Solution là SyncSQLServerAndSQLCompact
- Sau khi tạo project tiến hành add các thư viện của Microsoft Sync bao gồm: Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServer
- Bước kế tiếp là Code như trong bài tạo database ta đã tạo database với 2 bảng là Products và Orders ở bước này ta sẽ tạo scope cho bảng products đặt tên là ProductsScope dưới đây là mô tả của 1 các class sử dụng trong code:
- DbSyncScopeDescription dùng để chỉ ra tên cùa scope và danh sách các table sẽ được đồng bộ.
- DbSyncTableDescription là class chỉ ra tên tên của table, tên cột , tên kiểu dữ liệu và 1 số thông tin khác để thưc hiện đồng bộ.
- SqlSyncScopeProvisioning đại diện cho provisioning của SQL Server Database.
- Phương thức SetCreateTableDefault(DbSyncCreationOption) chỉ ra có hay không tạo table khi cấu hình scope.
- Copy đoạn code dưới đây vào phương thức Main sau đó run để tạo Scope.










