Skip to content

i. Home

Code Ninja edited this page Oct 2, 2024 · 6 revisions

NuGet version License: MIT Master-Build GitHub Release Master-CodeQL .Net 8.0

Concept

i. What is Schemio?

Schemio is a .net utility to hydrate an entity with data by specifying schema paths or sections of its object graph.

Supports XPath & JsonPath for schema paths.

ii. When to use Schemio?

Schemio is perfect fit when you need to fetch parts of a large entity from given data storage. Ideally, you may not want all of the entity data but preferably only sections of the object graph depending on the context for fetch.

Few example schemio use cases that require the service tier to dynamically fetch data for high performance, availability and scalability are

  • Reporting
  • Document Generation ( with templated data)
  • Content Management Systems
  • Many more

iii. How to use Schemio?

To use schemio you need to

Step 1 - Setup the entity to be fetched.

Step 2 - Construct the DataProvider with required dependencies.

Nuget Packages

i. Schemio.Core

Schemio.Core - Provides core functionality to configure nested queries and transformers. With ability to map schema paths (XPath/JSONPath) to entity's object graph. No QueryEngine provided and requires implementing IQueryEngine to execute IQuery instances.

ii. Schemio.SQL

Schemio.SQL - Provides schemio with query engine using Dapper to execute SQL queries.

iii. Schemio.EntityFramework

Schemio.EntityFramework - Provides schemio with Entity Framework query engine to execute queries using DbContext.