SchemaDiscovery.Client
1.0.27
dotnet add package SchemaDiscovery.Client --version 1.0.27
NuGet\Install-Package SchemaDiscovery.Client -Version 1.0.27
<PackageReference Include="SchemaDiscovery.Client" Version="1.0.27" />
<PackageVersion Include="SchemaDiscovery.Client" Version="1.0.27" />
<PackageReference Include="SchemaDiscovery.Client" />
paket add SchemaDiscovery.Client --version 1.0.27
#r "nuget: SchemaDiscovery.Client, 1.0.27"
#:package SchemaDiscovery.Client@1.0.27
#addin nuget:?package=SchemaDiscovery.Client&version=1.0.27
#tool nuget:?package=SchemaDiscovery.Client&version=1.0.27
SchemaDiscovery.Client
Reads the JSON files produced by the schema-discovery CLI back into typed .NET objects, so a code generator, ORM scaffolder, or other tool can consume a scanned database schema without re-parsing JSON itself. This dll is intended to be consumed from Visual Studio T4 Templates.
Targets .NET Framework 4.7.2.
Install
dotnet add package SchemaDiscovery.Client
Usage
using SchemaDiscovery.Client;
// inputDirectoryPath is the -o/--output folder schema-discovery wrote to,
// e.g. the ./schema-output produced by:
// schema-discovery -c "..." -o ./schema-output
var project = ProjectLoader.LoadProject(@".\schema-output");
foreach (var table in project.Tables)
{
Console.WriteLine($"{table.Schema}.{table.Name} ({table.Columns.Count} columns)");
}
foreach (var view in project.Views) { /* ... */ }
foreach (var routine in project.Routines) { /* stored procedures and functions */ }
ProjectLoader reads every *.json file from the tables/, views/,
stored-procedures/ and functions/ subfolders of the given directory and
sorts each one into Project.Tables, Project.Views, or Project.Routines
based on its ObjectType, using its own copy of the same model shapes
schema-discovery scanned them with (SchemaDiscovery.Client.Models) — so
hand-edited, [Persist]-ed fields like TableSchema.ClassName come through
untouched.
Instance vs. static
// Static convenience method — one call, no state to manage.
var project = ProjectLoader.LoadProject(@".\schema-output");
// Equivalent, via an instance — useful if you want to reuse/mock the loader.
var loader = new ProjectLoader();
var project = loader.Load(@".\schema-output");
See the project README
for details on the JSON file format and the [Persist] mechanism.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.1)
- System.Text.Json (>= 8.0.5)
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.27 | 105 | 9/4/2026 |
| 1.0.26 | 96 | 8/30/2026 |
| 1.0.25 | 98 | 8/26/2026 |
| 1.0.24 | 104 | 8/26/2026 |
| 1.0.23 | 107 | 8/25/2026 |
| 1.0.22 | 99 | 8/25/2026 |
| 1.0.21 | 103 | 8/25/2026 |
| 1.0.19 | 97 | 8/22/2026 |
| 1.0.18 | 102 | 8/21/2026 |
| 1.0.17 | 103 | 8/21/2026 |
| 1.0.15 | 93 | 8/21/2026 |
| 1.0.14 | 93 | 8/21/2026 |
| 1.0.13 | 95 | 8/21/2026 |
| 1.0.12 | 101 | 8/21/2026 |
| 1.0.11 | 105 | 8/20/2026 |
| 1.0.10 | 103 | 8/19/2026 |
| 1.0.0 | 103 | 8/19/2026 |