SAIF.Framework.Data.NHibernate dependencies¶
SAIF.Framework.Data.NHibernate is a single-project library packed from one .csproj; it has no in-repo <ProjectReference> elements, but four of its NuGet package references (SAIF.Framework.Common, SAIF.Framework.Core, SAIF.HashUtil, SAIF.Web.API.Clients) are internal organizational packages confirmed in the SAIFNuget feed, not external third-party packages. The SAIF.Framework.Core reference is this library's most heavily consumed dependency: it supplies the IUnitOfWork/IRepository<TEntity>/ISessionHelper/IDataEntity seam interfaces and the entire SAIF.Data.Model.* entity-model namespace (see the Internal dependencies table below), brought into this project's scope via C# enclosing-namespace lookup — this project's RootNamespace (SAIF.Data.NHibernate) nests under Core's SAIF.Data namespace — rather than an explicit using SAIF.Data; directive.
Internal dependencies¶
| Dependency | Reference Type | Usage |
|---|---|---|
| SAIF.Framework.Common | NuGet Package | Provides SAIF.Common.Extensions (ForEach, IsNull, IsMinOrMax) used in Factories/OracleConfigurationFactory.cs, Factories/SqlServerConfigurationFactory.cs, SessionHelper/SessionHelperBase.cs; and SAIF.Common namespace types referenced in UnitOfWork/NHibernateUnitOfWork.cs and Sessions/StatefulSessionStrategy.cs. Version 2.0.22068.1, confirmed present in the internal SAIFNuget feed. |
| SAIF.Framework.Core | NuGet Package | Supplies the SAIF.Data namespace seam interfaces IUnitOfWork (implemented by NHibernateUnitOfWork), IRepository<TEntity> (implemented by RepositoryBase<TEntity>), ISessionHelper (implemented by SessionHelperBase), and IDataEntity (the generic constraint on GetRepository<TEntity>()), plus the SAIF.Data.Model.* entity-model namespace mapped throughout Mappings/. No using SAIF.Data; directive is required or present: this project's RootNamespace (SAIF.Data.NHibernate) nests under Core's SAIF.Data namespace via C# enclosing-namespace lookup, bringing Core's types into scope directly. Corroborated by the sibling SAIF.Framework.Data.NHibernate.32.csproj's direct <ProjectReference> to SAIF.Framework.Core.csproj. Version 2.0.22075.1, confirmed present in the internal SAIFNuget feed. |
| SAIF.HashUtil | NuGet Package | Referenced; no direct usage found in scanned folders.** Version 1.0.18067.1, confirmed present in the internal SAIFNuget feed. |
| SAIF.Web.API.Clients | NuGet Package | Referenced; no direct usage found in scanned folders.** Version 1.1.22066.1, confirmed present in the internal SAIFNuget feed. Ships two referenced assemblies from the same package folder: SAIF.Web.API.Clients.dll and SAIF.Web.API.Core.dll (the latter is not a separate NuGet package — both <Reference> elements resolve to packages\SAIF.Web.API.Clients.1.1.22066.1\lib\net45\). |
External dependencies¶
| Dependency | Version | Usage |
|---|---|---|
| FluentNHibernate | 2.0.1.0 | Fluent mapping DSL (ClassMap<T>, Fluently.Configure()) used to build the 39 entity mappings and configure NHibernate. |
| NHibernate | 4.0.3.4000 | Core ORM (ISession, IStatelessSession, Configuration, ISessionFactory) underlying the session strategies, unit of work, and repositories. |
| Iesi.Collections | 4.0.1.4000 | NHibernate collection dependency. |
| Oracle.ManagedDataAccess | 21.5.0 | Oracle ADO.NET provider consumed by OracleDataClientConfiguration/OracleManagedDataClientDriver. |
| Autofac | 3.5.2 | Referenced but no registration/module code found in scanned folders — likely consumed by a downstream application registering these factories/interfaces.** |
| FluentValidation | 5.5.0.0 | Referenced; no direct validator usage found in scanned folders.** |
| log4net | 2.0.5 | Referenced; no direct logging calls found in scanned folders.** |
| Newtonsoft.Json | 8.0.3 | Referenced; no direct usage found in scanned folders.** |
| RestSharp | 106.12.0 | Referenced; no direct usage found in scanned folders.** |
| Microsoft.Bcl.AsyncInterfaces, System.Buffers, System.Memory, System.Numerics.Vectors, System.Runtime.CompilerServices.Unsafe, System.Text.Encodings.Web, System.Text.Json, System.Threading.Tasks.Extensions, System.ValueTuple | various | Transitive/BCL polyfill packages, likely pulled in by Newtonsoft.Json/RestSharp/SAIF.* dependencies rather than used directly.* |
Dependency risks and notes¶
IUnitOfWork,IRepository<TEntity>,ISessionHelper,IDataEntity, andSAIF.Data.Model.*are consumed or implemented throughout this library and are supplied by the already-listedSAIF.Framework.Corepackage dependency (namespaceSAIF.Data), not by the consuming application. They enter this project's scope via C# enclosing-namespace lookup: this project'sRootNamespace(SAIF.Data.NHibernate) nests every source file inside Core'sSAIF.Datanamespace, so nousing SAIF.Data;directive is required or present — this is why the earlier absence of ausing SAIF.Framework.Corestatement was mistaken for a missing or unresolved dependency. Theusing SAIF.Data.NHibernate.Interfaces;directive found in this library's own files is unrelated: that namespace belongs to this project and contains only its 3 locally-declared interfaces (IConfigurationFactory,ISessionStrategy,IUnitOfWorkFactory). Corroborated by the siblingSAIF.Framework.Data.NHibernate.32.csproj's direct<ProjectReference>toSAIF.Framework.Core.csproj.- Seven referenced NuGet packages (Autofac, FluentValidation, log4net, Newtonsoft.Json, RestSharp, SAIF.HashUtil, SAIF.Web.API.Clients) have no direct usage found in the scanned folders. These may be used only by the orphaned
SAIF.Framework.Data.NHibernate.32.csprojvariant (out of scope for this documentation set), may be transitive-only, or may indicate stale/unused references — this could not be resolved from source alone.** - Deserialization of a previously-serialized NHibernate
Configuration(BinaryFormatter) silently swallows any exception and falls back to a fresh build; this affects theNHibernate/FluentNHibernatedependency's runtime behavior but is not a package-version risk per se. - No
DatabaseConfig/Autofac-module wiring (e.g., named unit-of-work registrations) was found in this repository; such wiring is presumably owned by a consuming application, but this could not be confirmed.**
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Related documentation¶
- Index
- Overview
- Architecture
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- API reference
Sources¶
packages.configSAIF.Framework.Data.NHibernate.csprojSAIF.Framework.Data.NHibernate.slnSAIF.Framework.Data.NHibernate.nuspecFactories/ConfigurationFactoryBase.csFactories/OracleConfigurationFactory.csFactories/SqlServerConfigurationFactory.csSessionHelper/SessionHelperBase.csUnitOfWork/NHibernateUnitOfWork.csSessions/StatefulSessionStrategy.csRepositories/RepositoryBase.csRepositories/Imaging/ImageRepositoryExtensions.csMappings/(42ClassMap<TEntity>files)