SyncTransform 1.0.0
dotnet add package SyncTransform --version 1.0.0
NuGet\Install-Package SyncTransform -Version 1.0.0
<PackageReference Include="SyncTransform" Version="1.0.0" />
paket add SyncTransform --version 1.0.0
#r "nuget: SyncTransform, 1.0.0"
// Install SyncTransform as a Cake Addin #addin nuget:?package=SyncTransform&version=1.0.0 // Install SyncTransform as a Cake Tool #tool nuget:?package=SyncTransform&version=1.0.0
SyncTransform
A C# Library that helps to sync data that may require transformation
Project Goals
Unidirectional and Bidirectional Sync
- Utilize key maps to keep track of rows that have sync'd. This will also deal with a row having a different key on one system than another
- Ability to support "Sameness" overloading so rows that have the same data can be marked as sync'd
Transform Capability
- Ability to morph a table row into a different table
- Multiple tables to Multiple Tables?
Scheduling?
Real-time?
Auto Sync Based on Metadata:
- The key for the source table
- The key for the destination table
- Field Mappings & Transformations
Save the keys automatically
Work kind of like a merge join in SQL
Example Syntax:
// Unidirectional Sync
Sync
.SetSourceConnection(ConnStr)
.SetDestConnection(ConnStr)
.UseTransaction()
.UnidirectionalSyncTo()
.Map<TableSourceObject, TableDestinationObject>(transform)
.Schedule(interval, reenterent)
.Run();
// Bidirectional Sync
Sync
.SetConnection(ConnStr)
.Map<TableObject>("TableName")
.BidirectionalSyncTo()
.SetConnection(ConnStr)
.Map<TableObject>("TableName")
.Transform<TableObject, TableObject>(TransformFunc)
.Schedule(interval, reenterent)
.Run();
AppSettings.json Example: { "ConnectionStrings": { "Test1": { "ConnectionString": "Server=(local);Integrated Security=SSPI;Database=Test", "ProviderName": "System.Data.SqlClient" }, "KeyStore": { "ConnectionString": "Server=(local);Integrated Security=SSPI;Database=Test", "ProviderName": "System.Data.SqlClient" } } }
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.Configuration.Abstractions (>= 6.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 6.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 6.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 6.0.0)
- Microsoft.Extensions.Configuration.Json (>= 6.0.0)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Data.SqlClient (>= 4.8.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 261 | 12/27/2021 |