AndroThink.Data.Harmonizer.Core
1.1.1
dotnet add package AndroThink.Data.Harmonizer.Core --version 1.1.1
NuGet\Install-Package AndroThink.Data.Harmonizer.Core -Version 1.1.1
<PackageReference Include="AndroThink.Data.Harmonizer.Core" Version="1.1.1" />
<PackageVersion Include="AndroThink.Data.Harmonizer.Core" Version="1.1.1" />
<PackageReference Include="AndroThink.Data.Harmonizer.Core" />
paket add AndroThink.Data.Harmonizer.Core --version 1.1.1
#r "nuget: AndroThink.Data.Harmonizer.Core, 1.1.1"
#:package AndroThink.Data.Harmonizer.Core@1.1.1
#addin nuget:?package=AndroThink.Data.Harmonizer.Core&version=1.1.1
#tool nuget:?package=AndroThink.Data.Harmonizer.Core&version=1.1.1
AndroThink.Data.Harmonizer.Core 
AndroThink.Data.Harmonizer.Core is the foundation of the Harmonizer suite.
It provides the domain models, abstractions, and migration infrastructure required to build modular synchronization and reporting systems across multiple database providers.
🚀 Features
- Provider-Agnostic Core: Contains shared entities, configurations, and migration logic without binding to a specific database provider.
- Dynamic Schema Support: Enables runtime adjustments to reporting structures via a custom
IModelCacheKeyFactory. - Clean Architecture: Designed following DDD principles, separating Core logic from provider-specific implementations.
- Migration Management: Centralized migrations that can be applied across SQLite, SQL Server, and PostgreSQL.
- Extensibility: Acts as the base package for provider-specific libraries (
.SQLite,.SqlServer,.PostgreSQL).
🛠 Installation
Add the Core package to your project:
dotnet add package AndroThink.Data.Harmonizer.Core
⚙️ Usage
The Core library defines the domain entities and DbContext (HarmonizerDbContext) used by provider libraries. You typically reference Core in your application, then add a provider package to configure the actual database.
- Valid Providers
AndroThink.Data.Harmonizer.SQLiteAndroThink.Data.Harmonizer.SQLServerAndroThink.Data.Harmonizer.PostgreSQL
Example:
using AndroThink.Data.Harmonizer.Core;
var builder = WebApplication.CreateBuilder(args);
// Register Core services
builder.Services.AddDataHarmonizer();
// Register specific provider
builder.Services.AddDataHarmonizerPostgreSQL(..);
// At runtime, add a provider-specific package (e.g., AndroThink.Data.Harmonizer.SQLite, AndroThink.Data.Harmonizer.SQLServer, AndroThink.Data.Harmonizer.PostgreSQL)
🏛 Architecture
The Core library includes:
Entities: Base domain models for synchronization systems and reports.
DbContext:
HarmonizerDbContextwith provider-agnostic configuration.Engines: Sync engine that load data from the external apis, Report engine.
Interfaces & Implementations: Contracts for services like ISyncSystemService and ISyncReportService.
Utitities: General utils and helper methods.
📄 License
This project is licensed under the Apache License 2.0. You may freely use, modify, and distribute this library in both commercial and non-commercial projects, subject to the terms of the license.
🔗 Related Packages
AndroThink.Data.Harmonizer.SQLite (nuget.org)
AndroThink.Data.Harmonizer.SQLServer (nuget.org)
AndroThink.Data.Harmonizer.PostgreSQL (nuget.org)
| 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 is compatible. 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 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.EntityFrameworkCore (>= 6.0.29)
- Microsoft.EntityFrameworkCore.Relational (>= 6.0.29)
- System.IO.Packaging (>= 8.0.1)
- System.Linq.Dynamic.Core (>= 1.7.2)
-
net7.0
- Microsoft.EntityFrameworkCore (>= 6.0.29)
- Microsoft.EntityFrameworkCore.Relational (>= 6.0.29)
- System.IO.Packaging (>= 8.0.1)
- System.Linq.Dynamic.Core (>= 1.7.2)
-
net8.0
- Microsoft.EntityFrameworkCore (>= 8.0.18)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.18)
- System.IO.Packaging (>= 10.0.7)
- System.Linq.Dynamic.Core (>= 1.7.2)
-
net9.0
- Microsoft.EntityFrameworkCore (>= 8.0.18)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.18)
- System.IO.Packaging (>= 10.0.7)
- System.Linq.Dynamic.Core (>= 1.7.2)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on AndroThink.Data.Harmonizer.Core:
| Package | Downloads |
|---|---|
|
AndroThink.Data.Harmonizer.Web.UI
A .NET Core Razor Class Library that provides UI views and APIs for managing Sync Engine and Report Engine features for aggregating data from APIs and websites, harmonizing it, and generating reports. |
|
|
AndroThink.Data.Harmonizer.PostgreSQL
PostgreSQL provider for AndroThink.Data.Harmonizer.Core Implements provider-specific EF Core configurations and migrations for PostgreSQL databases. |
|
|
AndroThink.Data.Harmonizer.SQLServer
SQLServer provider for AndroThink.Data.Harmonizer.Core Implements provider-specific EF Core configurations and migrations for SQLServer databases. |
|
|
AndroThink.Data.Harmonizer.SQLite
SQLite provider for AndroThink.Data.Harmonizer.Core Implements provider-specific EF Core configurations and migrations for SQLite databases. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.1 | 150 | 5/11/2026 |