Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,20 @@
"Bash(dotnet:*)",
"Bash(git status:*)",
"Bash(git add:*)",
"Bash(git commit:*)"
"Bash(git commit:*)",
"Bash(sed 's/^A\\\\t//')",
"Bash(grep \"\\\\.csproj$\")",
"Bash(sed 's/^D\\\\t//')",
"Bash(git stash:*)",
"Bash(git pull:*)",
"Bash(python3 -c \":*)",
"Bash(for pkg:*)",
"Bash(do)",
"Bash(echo \"=== $pkg ===\")",
"Read(//c/Users/najaf/.nuget/packages/$pkg/**)",
"Bash(done)",
"Bash(git push:*)",
"Bash(git checkout:*)"
]
}
}
2 changes: 1 addition & 1 deletion GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
next-version: 2.1.0
next-version: 3.0.0
tag-prefix: '[vV]'
mode: ContinuousDeployment
branches:
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2025 Code Shayk
Copyright (c) 2026 Code Shayk

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# <img src="https://github.com/CodeShayk/DataFuse.Net/blob/master/Images/data-integration-transparent.png" alt="data" style="width:50px;"/> DataFuse
# <img src="https://github.com/CodeShayk/DataFuse.Net/blob/master/Images/data-integration-transparent.png" alt="data" style="width:50px;"/> DataFuse v3.0.0

### Like GraphQL, but for your heterogeneous backend systems

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/CodeShayk/DataFuse.Net/blob/master/LICENSE.md)
[![Master-Build](https://github.com/CodeShayk/DataFuse.Net/actions/workflows/Build-Master.yml/badge.svg)](https://github.com/CodeShayk/DataFuse.Net/actions/workflows/Build-Master.yml)
[![GitHub Release](https://img.shields.io/github/v/release/CodeShayk/DataFuse.Net?logo=github&sort=semver)](https://github.com/CodeShayk/DataFuse.Net/releases/latest)
[![Master-CodeQL](https://github.com/CodeShayk/DataFuse.Net/actions/workflows/Master-CodeQL.yml/badge.svg)](https://github.com/CodeShayk/DataFuse.Net/actions/workflows/Master-CodeQL.yml)
[![.Net 9.0](https://img.shields.io/badge/.Net-9.0-blue)](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)
[![.Net 10.0](https://img.shields.io/badge/.Net-10.0-blue)](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)

**DataFuse** is a declarative framework that aggregates data from SQL databases, REST APIs, and any heterogeneous datsource into unified, strongly-typed objects — replacing hundreds of lines of manual orchestration code with clean, schema-driven configuration.

Expand Down Expand Up @@ -224,11 +224,12 @@ public class ProductService

| Package | .NET | .NET Standard | .NET Framework |
|---|---|---|---|
| DataFuse.Integration | 9.0+ | 2.0, 2.1 | 4.6.2+ |
| DataFuse.Adapters.SQL | 9.0+ | 2.1 | 4.6.2+ |
| DataFuse.Adapters.EntityFramework | 9.0+ | - | - |
| DataFuse.Adapters.WebAPI | 9.0+ | 2.0, 2.1 | 4.6.2+ |
| DataFuse.Adapters.MongoDB | 9.0+ | - | - |
| DataFuse.Integration | 8.0, 9.0, 10.0 | 2.1 | - |
| DataFuse.Adapters.Abstraction | 8.0, 9.0, 10.0 | 2.1 | - |
| DataFuse.Adapters.SQL | 8.0, 9.0, 10.0 | 2.1 | - |
| DataFuse.Adapters.WebAPI | 8.0, 9.0, 10.0 | 2.1 | - |
| DataFuse.Adapters.MongoDB | 8.0, 9.0, 10.0 | 2.1 | - |
| DataFuse.Adapters.EntityFramework | 10.0 | - | - |

---

Expand All @@ -254,9 +255,10 @@ This project is licensed with the [MIT license](LICENSE).

## Version History

The main branch is now on .NET 9.0. Previous versions:
The main branch is now on .NET 10.0. Previous versions:

| Version | Release Notes | Developer Guide |
|---|---|---|
| [`v3.0.0`](https://github.com/CodeShayk/DataFuse.Net/tree/v3.0.0) | [Notes](https://github.com/CodeShayk/DataFuse.Net/releases/tag/v3.0.0) | [Guide](https://github.com/CodeShayk/DataFuse.Net/blob/v3.0.0/index.md) |
| [`v2.0.0`](https://github.com/CodeShayk/DataFuse.Net/tree/v2.0.0) | [Notes](https://github.com/CodeShayk/DataFuse.Net/releases/tag/v2.0.0) | [Guide](https://github.com/CodeShayk/DataFuse.Net/blob/v2.0.0/index.md) |
| [`v1.0.0`](https://github.com/CodeShayk/DataFuse.Net/tree/v1.0.0) | [Notes](https://github.com/CodeShayk/DataFuse.Net/releases/tag/v1.0.0) | [Guide](https://github.com/CodeShayk/DataFuse.Net/blob/v1.0.0/index.md) |
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,29 @@
<IsPackable>true</IsPackable>
<Authors>Code Shayk</Authors>
<Company>Code Shayk</Company>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse</RepositoryUrl>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<Description>DataFuse adapter abstraction layer. Contains interfaces and base classes needed for implementing custom data adapters (SQL, Entity Framework, Web API, etc.).</Description>
<PackageTags>datafuse adapter abstraction data-mapping query-engine data-mapper schema-mapping data-aggregator</PackageTags>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse/wiki</PackageProjectUrl>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<Title>DataFuse Adapters Abstraction</Title>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<IncludeSymbols>True</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes> v3.0.0 - Targets .NET 10.
<PackageReleaseNotes>v3.0.0
- Multi-target framework support: netstandard2.1, net8.0, net9.0, net10.0.
- Added CacheResult attribute for query result caching.
</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
<Authors>Code Shayk</Authors>
<Company>Code Shayk</Company>
<Description>DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. This package provides the Entity Framework adapter for querying databases.</Description>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse/wiki</PackageProjectUrl>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse</RepositoryUrl>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>datafuse data-mapping query-engine data-mapper schema-mapping datafuse-entity-framework entity-framework data-aggregator</PackageTags>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
Expand All @@ -23,9 +23,10 @@
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes>
v3.0.0 - Targets .NET 10.
- Provides Pre and Post Transform hooks.
<PackageReleaseNotes>v3.0.0
- Targets .NET 10.0.
- Pre and Post Transform hooks for data transformation pipeline.
- Entity Framework Core 10.0 based query execution.
</PackageReleaseNotes>
</PropertyGroup>

Expand All @@ -34,7 +35,7 @@
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
13 changes: 7 additions & 6 deletions src/DataFuse.Adapters.MongoDB/DataFuse.Adapters.MongoDB.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,20 @@
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<Description>DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. This package provides the MongoDB adapter for querying MongoDB collections.</Description>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<IncludeSymbols>True</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes>
v3.0.0 - Initial release targeting .NET 10.
- MongoDB adapter for DataFuse data aggregation framework.
<PackageReleaseNotes>v3.0.0
- New MongoDB adapter for DataFuse data aggregation framework.
- Multi-target framework support: netstandard2.1, net8.0, net9.0, net10.0.
- MongoDB Driver 3.4.0 based query execution.
</PackageReleaseNotes>
</PropertyGroup>

Expand All @@ -34,7 +35,7 @@
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
17 changes: 9 additions & 8 deletions src/DataFuse.Adapters.SQL/DataFuse.Adapters.SQL.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,23 @@
<Authors>Code Shayk</Authors>
<Company>Code Shayk</Company>
<PackageTags>datafuse data-mapping query-engine data-mapper schema-mapping datafuse-sql dapper-sql dapper data-aggregator</PackageTags>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse</RepositoryUrl>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse/wiki</PackageProjectUrl>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<Description>DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. This package provides the SQL adapter with Dapper support for querying SQL databases.</Description>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<IncludeSymbols>True</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes>
v3.0.0 - Targets .NET 10.
- Provides Pre and Post Transform hooks.
<PackageReleaseNotes>v3.0.0
- Multi-target framework support: netstandard2.1, net8.0, net9.0, net10.0.
- Pre and Post Transform hooks for data transformation pipeline.
- Dapper-based SQL query execution.
</PackageReleaseNotes>
</PropertyGroup>

Expand All @@ -34,7 +35,7 @@
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
17 changes: 9 additions & 8 deletions src/DataFuse.Adapters.WebAPI/DataFuse.Adapters.WebAPI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
<Authors>Code Shayk</Authors>
<Company>Code Shayk</Company>
<Description>DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. This package provides the Web API adapter using HttpClient.</Description>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse/wiki</PackageProjectUrl>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse</RepositoryUrl>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>datafuse data-mapping query-engine data-mapper schema-mapping datafuse-webapi data-aggregator</PackageTags>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
Expand All @@ -23,9 +23,10 @@
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes>
v3.0.0 - Targets .NET 10.
- Provides Pre and Post Transform hooks.
<PackageReleaseNotes>v3.0.0
- Multi-target framework support: netstandard2.1, net8.0, net9.0, net10.0.
- Pre and Post Transform hooks for data transformation pipeline.
- HttpClient-based Web API query execution.
</PackageReleaseNotes>
</PropertyGroup>

Expand All @@ -34,7 +35,7 @@
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
16 changes: 9 additions & 7 deletions src/DataFuse.Integration/DataFuse.Integration.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,30 @@
<IsPackable>true</IsPackable>
<Authors>Code Shayk</Authors>
<Company>Code Shayk</Company>
<Copyright>Copyright (c) 2025 Code Shayk</Copyright>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse</RepositoryUrl>
<Copyright>Copyright (c) 2026 Code Shayk</Copyright>
<RepositoryUrl>https://github.com/CodeShayk/DataFuse.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>ninja-icon-16.png</PackageIcon>
<PackageIcon>data-integration-transparent.png</PackageIcon>
<Description>DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. It enables developers to hydrate complex object graphs by fetching data from multiple sources (SQL databases, Web APIs, NoSQL stores) using XPath and JSONPath schema mappings.</Description>
<PackageTags>graphql data json-schema xsd data-mapping query-engine data-mapper data-schema schema-mapping object-tree-query object-graph-query schema-mapper xsd-data-object object-graph-data entity-data entity-data-fetch hydrate-object object-hydration object-data object-fetch datafuse datafuse-integration data-aggregator</PackageTags>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse/wiki</PackageProjectUrl>
<PackageProjectUrl>https://github.com/CodeShayk/DataFuse.Net/wiki</PackageProjectUrl>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<Title>DataFuse Integration</Title>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<IncludeSymbols>True</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>3.0.0</Version>
<PackageReleaseNotes> v3.0.0 - Targets .NET 10.
- Provides Pre and Post Transform hooks.
<PackageReleaseNotes>v3.0.0
- Multi-target framework support: netstandard2.1, net8.0, net9.0, net10.0.
- Pre and Post Transform hooks for data transformation pipeline.
- XPath and JSONPath schema-driven data aggregation.
</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Images\ninja-icon-16.png">
<None Include="..\..\Images\data-integration-transparent.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
Expand Down
Loading