---
title: SAIF.NetCore.NHibernate API reference
summary: Index of all public types in this library.
status: draft
owner: Framework
last_reviewed: 2026-10-02
library: SAIF.NetCore.NHibernate
reference_type: package
---

# SAIF.NetCore.NHibernate API reference

This page lists all 23 public types exposed by `SAIF.NetCore.NHibernate`. Each type links to its full API reference page. Six additional types (`StatefulSessionStrategy`, `StatelessSessionStrategy`, `SessionHelperBase`, `OracleSessionHelper`, `SqlServerSessionHelper`, `PostgreSqlSessionHelper`) exist in the assembly but are declared `internal` and are therefore not part of the public API documented here.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [UnitOfWorkAccessor](SAIF.NetCore.NHibernate/UnitOfWorkAccessor.md) | Class | `SAIF.NetCore.NHibernate` | DI-friendly facade that resolves named options and hands out a new unit of work per call. |
| [Repository\<TEntity\>](SAIF.NetCore.NHibernate/Repository.md) | Class | `SAIF.NetCore.NHibernate` | Generic entity-level CRUD/query surface backed by the unit of work's session strategy. |
| [UnitOfWork](SAIF.NetCore.NHibernate/UnitOfWork.md) | Class | `SAIF.NetCore.NHibernate` | Owns the single transaction and session for one logical unit of database work. |
| [BaseConfiguration](SAIF.NetCore.NHibernate/BaseConfiguration.md) | Class (abstract) | `SAIF.NetCore.NHibernate` | Shared FluentNHibernate configuration assembly/mapping-loading logic for all three engines. |
| [OracleConfiguration](SAIF.NetCore.NHibernate/OracleConfiguration.md) | Class | `SAIF.NetCore.NHibernate` | Oracle-specific driver configuration (ODP.NET managed driver, Oracle10 dialect). |
| [SqlConfiguration](SAIF.NetCore.NHibernate/SqlConfiguration.md) | Class | `SAIF.NetCore.NHibernate` | SQL Server-specific driver configuration (MsSql2008 dialect). |
| [PostGreSqlConfiguration](SAIF.NetCore.NHibernate/PostGreSqlConfiguration.md) | Class | `SAIF.NetCore.NHibernate` | PostgreSQL-specific driver configuration (Npgsql standard dialect). |
| [UnitOfWorkFactory](SAIF.NetCore.NHibernate.Factories/UnitOfWorkFactory.md) | Class | `SAIF.NetCore.NHibernate.Factories` | Builds/caches session factories and NHibernate configurations, and assembles units of work. |
| [SqlDebugOutputInterceptor](SAIF.NetCore.NHibernate.Factories.Configuration/SqlDebugOutputInterceptor.md) | Class | `SAIF.NetCore.NHibernate.Factories.Configuration` | NHibernate interceptor that traces prepared SQL statements while a debugger is attached. |
| [IRepository\<TEntity\>](SAIF.NetCore.NHibernate.Interfaces/IRepository.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract for entity-level CRUD/query operations implemented by `Repository<TEntity>`. |
| [INhConfiguration](SAIF.NetCore.NHibernate.Interfaces/INhConfiguration.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract for building an NHibernate `Configuration`, implemented by `BaseConfiguration`. |
| [ISessionHelper](SAIF.NetCore.NHibernate.Interfaces/ISessionHelper.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract exposing the database-sourced `SystemDate`. |
| [ISessionStrategy](SAIF.NetCore.NHibernate.Interfaces/ISessionStrategy.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract abstracting stateful (`ISession`) vs. stateless (`IStatelessSession`) NHibernate sessions. |
| [IUnitOfWork](SAIF.NetCore.NHibernate.Interfaces/IUnitOfWork.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract for the transaction/session lifecycle implemented by `UnitOfWork`. |
| [IUnitOfWorkFactory](SAIF.NetCore.NHibernate.Interfaces/IUnitOfWorkFactory.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Contract for creating a unit of work from `UnitOfWorkOptions`, implemented by `UnitOfWorkFactory`. |
| [IOracleUnitOfWorkFactory](SAIF.NetCore.NHibernate.Interfaces/IOracleUnitOfWorkFactory.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Confirmed-empty marker sub-interface of `IUnitOfWorkFactory`; appears intended for Oracle-specific factory registrations, though no concrete type in this library implements it.* |
| [ISqlUnitOfWorkFactory](SAIF.NetCore.NHibernate.Interfaces/ISqlUnitOfWorkFactory.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Confirmed-empty marker sub-interface of `IUnitOfWorkFactory`; appears intended for SQL Server-specific factory registrations, though no concrete type in this library implements it.* |
| [IPostGreSqlUnitOfWorkFactory](SAIF.NetCore.NHibernate.Interfaces/IPostGreSqlUnitOfWorkFactory.md) | Interface | `SAIF.NetCore.NHibernate.Interfaces` | Confirmed-empty marker sub-interface of `IUnitOfWorkFactory`; appears intended for PostgreSQL-specific factory registrations, though no concrete type in this library implements it.* |
| [IServicesNhibernateExtensions](SAIF.NetCore.NHibernate.Extensions/IServicesNhibernateExtensions.md) | Class (static) | `SAIF.NetCore.NHibernate.Extensions` | Obsolete legacy registration API; every member is a compile-time error and a functional no-op. |
| [IServicesCollectionExtensions](SAIF.NetCore.NHibernate.Extensions/IServicesCollectionExtensions.md) | Class (static) | `SAIF.NetCore.NHibernate.Extensions` | Current `IServiceCollection` registration API (`AddNhibernateServices`). |
| [ConfigureUnitOfWorkOptions](SAIF.NetCore.NHibernate.Options/ConfigureUnitOfWorkOptions.md) | Class (abstract) | `SAIF.NetCore.NHibernate.Options` | Base class consuming applications derive from to configure one named database connection. |
| [DatabaseType](SAIF.NetCore.NHibernate.Options/DatabaseType.md) | Enum | `SAIF.NetCore.NHibernate.Options` | Selects which of the three supported database engines a unit of work targets. |
| [UnitOfWorkOptions](SAIF.NetCore.NHibernate.Options/UnitOfWorkOptions.md) | Class | `SAIF.NetCore.NHibernate.Options` | Per-named-connection options bag (connection string, engine, batch size, SQL logging flags). |

## Related documentation
- [Index](../index.md)
- [Overview](../overview.md)
- [Architecture](../architecture.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Configuration](../configuration.md)
- [Service registration](../service-registration.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `src/SAIF.NetCore.Nhibernate/SAIF.NetCore.NHibernate/SAIF.NetCore.NHibernate/`
