Sl.DataAccess.NH 2.4.0

dotnet add package Sl.DataAccess.NH --version 2.4.0
NuGet\Install-Package Sl.DataAccess.NH -Version 2.4.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sl.DataAccess.NH" Version="2.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sl.DataAccess.NH --version 2.4.0
#r "nuget: Sl.DataAccess.NH, 2.4.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sl.DataAccess.NH as a Cake Addin
#addin nuget:?package=Sl.DataAccess.NH&version=2.4.0

// Install Sl.DataAccess.NH as a Cake Tool
#tool nuget:?package=Sl.DataAccess.NH&version=2.4.0

NuGet

Sl.DataAccess.NH

NHibernate AutoMapping configurations with custom attributes and json column support.

It uses NHibernate's AutoMapping conventions for reading custom attributes over classes and properties and does database mapping, without the need of xml and and fluent mapping.

Installation

dotnet add package Sl.DataAccess.NH

Usage


//The assembly that contains table class definitions
Assembly myAssembly = Assembly.GetAssembly(typeof(MyTable));

IPersistenceConfigurer dbConfig = MsSqlConfiguration.MsSql2012.ConnectionString("foo");

IAuditService myAuditService = new MyAuditService();


SlSession.ConfigureSessionFactory(myAssembly, dbConfig,
        SessionContextType.ThreadStatic, 
        myAuditService, 
        DBSchemaUpdateMode.Update_Tables);

Standart DataAnnotations Attributes

[Key]

Generates primary key. It can generate a composite primary key if it was put over two properties.

It can also be used over foreign key fields.

[Required]

Makes any field, including foreign key fields, NotNull.

[MaxLength(n)]

Can be used over string fields to indicate Maximum Length.

[DataType(DataType.Time)]

Creates time typed columns in supported databases. (Time without date)

[DataType(DataType.Date)]

Creates date typed columns in supported databases (Date without time)

Custom Attributes

[Index]

Crates an index over specified column or columns.

[Unique]

Creates a unique index over specified column or columns.

[AnsiString]

Sets the string columns type to varchar instead of nvarchar supported databases.

[ColumnName]

Sets the column name in database.

[DBIgnore]

Ignores the property during mapping.

[TableName]

Sets the table Name in database when put on a class.

[JsonColumn]

Can be put on a property of complex type. It generates an nvarchar(max) column in database and parses the value into json.

It generates a jsonb typed column in Postgres.

Session Context Types

Web

Web_Old

Hybrid

ThreadStatic

Thread Local

Audit

Audit can be done using dependency injection by extending IAuditService.

Authors <a name = "authors"></a>

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.4.0 420 10/18/2022
2.3.2 338 10/18/2022
2.3.1 361 10/6/2022
2.3.0 442 8/18/2022
2.2.1 512 3/8/2022
2.2.0 517 2/21/2022
2.1.0 517 2/17/2022
2.0.1 293 12/27/2021
2.0.0 292 12/27/2021