Lyo.Endato.Postgres
1.0.1
See the version list below for details.
dotnet add package Lyo.Endato.Postgres --version 1.0.1
NuGet\Install-Package Lyo.Endato.Postgres -Version 1.0.1
<PackageReference Include="Lyo.Endato.Postgres" Version="1.0.1" />
<PackageVersion Include="Lyo.Endato.Postgres" Version="1.0.1" />
<PackageReference Include="Lyo.Endato.Postgres" />
paket add Lyo.Endato.Postgres --version 1.0.1
#r "nuget: Lyo.Endato.Postgres, 1.0.1"
#:package Lyo.Endato.Postgres@1.0.1
#addin nuget:?package=Lyo.Endato.Postgres&version=1.0.1
#tool nuget:?package=Lyo.Endato.Postgres&version=1.0.1
Lyo.Endato.Postgres
PostgreSQL schema and EF Core context for caching Endato Person Search (PS) and Contact Enrichment (CE) responses. Schema name is endato.
Examples
Quick start
services.AddEndatoDbContextFactoryFromConfiguration(builder.Configuration);
// or inline:
services.AddEndatoDbContextFactory(o => {
o.ConnectionString = "Host=localhost;Database=lyo;Username=postgres;Password=postgres";
o.EnableAutoMigrations = true;
});
What ships
EndatoDbContext(Database/EndatoDbContext.cs) andEndatoDbContextFactoryfor design-time tooling.PostgresEndatoOptions(PostgresEndatoOptions.cs) —IPostgresMigrationConfig. Section"PostgresEndato". Properties:ConnectionString,EnableAutoMigrations(defaultfalse);Schema = "endato"is constant.- Migrations under
Migrations/.
The two domains (Person Search and Contact Enrichment) are intentionally split into separate entity groups so caching either source is independent:
| Group | Entities |
|---|---|
Person Search (Ps) |
EndatoPsQueryEntity, EndatoPsPersonEntity, EndatoPsAddressEntity, EndatoPsEmailAddressEntity, EndatoPsPhoneNumberEntity (+ matching *Configuration classes). |
Contact Enrichment (Ce) |
EndatoCeQueryEntity, EndatoCePersonEntity, EndatoCeAddressEntity, EndatoCeEmailAddressEntity, EndatoCePhoneNumberEntity (+ matching *Configuration classes). |
OnModelCreating sets HasDefaultSchema("endato") and applies each entity configuration; the migrations history table is also written to the endato schema.
DI surface (Extensions.cs)
All registrations are extension methods on IServiceCollection (declared inside extension(IServiceCollection services) blocks):
| Method | Description |
|---|---|
AddEndatoDbContext(string connectionString) |
Convenience: registers the factory plus a scoped EndatoDbContext resolved from the factory. |
AddEndatoDbContext(Action<DbContextOptionsBuilder>) |
Standard EF AddDbContext overload. |
AddEndatoDbContextFactory(Action<PostgresEndatoOptions>) |
Builds options inline. |
AddEndatoDbContextFactoryFromConfiguration(config, sectionName?) |
Binds options from configuration (default section "PostgresEndato"). |
AddEndatoDbContextFactory(PostgresEndatoOptions) |
Registers IDbContextFactory<EndatoDbContext> (Npgsql provider), wires AddPostgresMigrations<EndatoDbContext, …>, and sets the migrations history table to the endato schema. |
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Exceptions— (direct, lyo)Lyo.Postgres— (direct, lyo)Microsoft.Extensions.Configuration.Binder10.0.5— (direct, microsoft)Microsoft.EntityFrameworkCore10.0.5— (transitive, microsoft)Microsoft.EntityFrameworkCore.Design10.0.5— (transitive, microsoft)Microsoft.EntityFrameworkCore.Relational10.0.5— (transitive, microsoft)Microsoft.Extensions.Hosting.Abstractions10.0.5— (transitive, microsoft)Microsoft.Extensions.Options10.0.5— (transitive, microsoft)Npgsql.EntityFrameworkCore.PostgreSQL10.0.3— (transitive, third-party)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Lyo.Exceptions (>= 1.0.1)
- Lyo.Postgres (>= 1.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.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.