Skip to content

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, and SAIF.Data.Model.* are consumed or implemented throughout this library and are supplied by the already-listed SAIF.Framework.Core package dependency (namespace SAIF.Data), not by the consuming application. They enter this project's scope via C# enclosing-namespace lookup: this project's RootNamespace (SAIF.Data.NHibernate) nests every source file inside Core's SAIF.Data namespace, so no using SAIF.Data; directive is required or present — this is why the earlier absence of a using SAIF.Framework.Core statement was mistaken for a missing or unresolved dependency. The using 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 sibling SAIF.Framework.Data.NHibernate.32.csproj's direct <ProjectReference> to SAIF.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.csproj variant (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 the NHibernate/FluentNHibernate dependency'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.

Sources

  • packages.config
  • SAIF.Framework.Data.NHibernate.csproj
  • SAIF.Framework.Data.NHibernate.sln
  • SAIF.Framework.Data.NHibernate.nuspec
  • Factories/ConfigurationFactoryBase.cs
  • Factories/OracleConfigurationFactory.cs
  • Factories/SqlServerConfigurationFactory.cs
  • SessionHelper/SessionHelperBase.cs
  • UnitOfWork/NHibernateUnitOfWork.cs
  • Sessions/StatefulSessionStrategy.cs
  • Repositories/RepositoryBase.cs
  • Repositories/Imaging/ImageRepositoryExtensions.cs
  • Mappings/ (42 ClassMap<TEntity> files)