Sl.DataAccess.NH
2.4.0
See the version list below for details.
dotnet add package Sl.DataAccess.NH --version 2.4.0
NuGet\Install-Package Sl.DataAccess.NH -Version 2.4.0
<PackageReference Include="Sl.DataAccess.NH" Version="2.4.0" />
paket add Sl.DataAccess.NH --version 2.4.0
#r "nuget: Sl.DataAccess.NH, 2.4.0"
// 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
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 | Versions 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. |
-
.NETStandard 2.0
- FluentNHibernate (>= 3.1.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- NHibernate (>= 5.3.14)
- NHibernate.Json (>= 2.0.3)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.