Schemio.Core
2.0.0
dotnet add package Schemio.Core --version 2.0.0
NuGet\Install-Package Schemio.Core -Version 2.0.0
<PackageReference Include="Schemio.Core" Version="2.0.0" />
paket add Schemio.Core --version 2.0.0
#r "nuget: Schemio.Core, 2.0.0"
// Install Schemio.Core as a Cake Addin #addin nuget:?package=Schemio.Core&version=2.0.0 // Install Schemio.Core as a Cake Tool #tool nuget:?package=Schemio.Core&version=2.0.0
Schemio v2.0
Nuget Packages
Concept
What is Schemio?
Schemio
is a data aggregation framework using queries that can target different data platforms.
Key benefits:
- allows fetching
aggregated
data fromheterogeneous
data storages. You could combine queries targetting different data platforms (example.SQL
,API
,Cache
) to return an aggregated dataentity
. - allows
selectively
fetching onlyparts
of the aggregated data entity. You could retrieve an aggregated data entity with onlysections
of itsobject graph
populated with data depending upon theschema paths
passed with the request.
When to use Schemio?
Schemio is perfect fit for many use cases. Few examples that require the service tier to dynamically fetch aggregated data with high performance, availability and scalability are
- Aggregated APIs
- Data Reporting
- Document Generation (with templated data)
- Content Management Systems
- Many more
Getting Started?
i. Installation
Install the latest nuget package as appropriate for Core
, Web API
, SQL
using Dapper
or EntityFramework
using commands below.
Scemio.Core
- for installing schemio for bespoke
implementation of query engine.
NuGet\Install-Package Schemio.Core
Schemio.SQL
- for installing schemio for SQL with Dapper
engine.
NuGet\Install-Package Schemio.SQL
Schemio.EntityFramework
- for installing schemio for SQL with EntityFramework
engine.
NuGet\Install-Package Schemio.EntityFramework
Schemio.API
- for installing schemio for Web API with HttpClient
engine.
NuGet\Install-Package Schemio.API
ii. Developer Guide
Please see Developer Guide for details on how to implement schemio in your project.
Support
If you are having problems, please let me know by raising a new issue.
License
This project is licensed with the MIT license.
Version History
The main branch is now on .NET 8.0. The following previous versions are available:
| Version | Release Notes | Developer Guide |
| -------- | --------|--------|
| v1.0.0
| Notes | Guide |
| v2.0.0
| Notes | Guide |
Credits
Thank you for reading. Please fork, explore, contribute and report. Happy Coding !! 😃
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Schemio.Core:
Package | Downloads |
---|---|
Schemio.SQL
.Net Library to hydrate data entities by object graph using schema paths (supports XPath & JSONPath). Supports Dapper for querying SQL database. |
|
Schemio.EntityFramework
.Net Library to hydrate data entities by object graph using schema paths (supports XPath & JSONPath). Supports Entity Framework for querying database. |
|
Schemio.API
.Net Library to hydrate data entities by object graph using schema paths (supports XPath & JSONPath). Supports Web API using HttpClient. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Changes
- `Entity Schema` renamed to `Entity Configuration` and requires implementing `EntityContfiguration<TEntity>`.
- `IRootQuery`, `IChildQuery`, `BaseRootQuery<TParameter, TResult>` & `BaseChildQuery<TParameter,TResult>` removed.
- Both Parent and child queries need to implement `BaseQuery<TResult>` and provide override for `isContextResolved()` and `ResolveQuery()` methods.
- `IoC` registration streamlined with `fluent interface` for container configuration.
- Renamed `IEntityContext` to `IEntityRequest`.