---
title: OracleConfigurationFactory
summary: API reference for OracleConfigurationFactory.
status: draft
owner: Framework
last_reviewed: 2026-09-15
library: SAIF.Framework.Data.NHibernate
reference_type: package
---

# OracleConfigurationFactory

`OracleConfigurationFactory` is the Oracle-specific implementation of `ConfigurationFactoryBase`, supplying the `OracleDataClientConfiguration.Oracle10` dialect/driver configuration (`OracleManagedDataClientDriver`) and the `Oracle.config` serialized-configuration file name. It is constructed by `OracleUnitOfWorkFactory` and `OracleStatelessUnitOfWorkFactory` to build Oracle-targeted NHibernate configurations.

## Purpose
- Provides the Oracle-specific `GetNewConfiguration` override: configures `Fluently.Configure()` with `OracleDataClientConfiguration.Oracle10` and `OracleManagedDataClientDriver`, and scans this assembly (via `AddFromAssemblyOf<IUnitOfWorkFactory>()`) plus any assemblies passed via the `ClassMapAssemblyList` constructor parameter for `ClassMap<T>` mappings.
- Provides the Oracle-specific `GetConfigurationFileName` override, returning `Oracle.config` as the serialized-configuration cache file name.

## Context
- Namespace: `SAIF.Data.NHibernate`
- Assembly/package: `SAIF.Framework.Data.NHibernate`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| OracleConfigurationFactory() | `public OracleConfigurationFactory()` | Default constructor; scans only this assembly for `ClassMap<T>` mappings. |
| OracleConfigurationFactory(assemblies) | `public OracleConfigurationFactory(IEnumerable<Assembly> assemblies)` | Constructor accepting additional assemblies to scan for `ClassMap<T>` mappings beyond this library's own 42 mapping classes. |

## Inherited public members

Members in this section are inherited from `ConfigurationFactoryBase` in `SAIF.Framework.Data.NHibernate`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| GetConfiguration | `PersistenceConfiguration GetConfiguration(string connection, int batchSize, bool showSql)` | Returns a cached `PersistenceConfiguration` for `connection` if one exists; otherwise builds and caches one via `CreateConfiguration`. | `SAIF.Framework.Data.NHibernate` — `ConfigurationFactoryBase` |

## Behavioral notes
- Configures Oracle10 dialect specifically (not a generic Oracle dialect), which affects available SQL syntax NHibernate generates for this engine.*

## Constraints and usage notes
- Consumers must pass an Oracle-compatible connection string; no runtime validation of the connection string's target engine is performed by this class.

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

## Sources
- `Factories/OracleConfigurationFactory.cs`
- `Factories/ConfigurationFactoryBase.cs`
