Artisan.ORM
3.1.1
dotnet add package Artisan.ORM --version 3.1.1
NuGet\Install-Package Artisan.ORM -Version 3.1.1
<PackageReference Include="Artisan.ORM" Version="3.1.1" />
paket add Artisan.ORM --version 3.1.1
#r "nuget: Artisan.ORM, 3.1.1"
// Install Artisan.ORM as a Cake Addin #addin nuget:?package=Artisan.ORM&version=3.1.1 // Install Artisan.ORM as a Cake Tool #tool nuget:?package=Artisan.ORM&version=3.1.1
Artisan.ORM
ADO.NET Micro-ORM to SQL Server, implemented as a .Net Core 6.0 library (since version 3.x.x). Use version 2.x.x, which was built with Net Standard 2.0, if you want to utilise this library with the .Net Framework or a previous version of .NET Core.
ADO.NET Micro-ORM to SQL Server.
First there was a desire to save a graph of objects for one access to the database:
- one command on the client,
- one request to the application server,
- one access to the database.
Thus the method of How to Save Object Graph in Master-Detail Relationship with One Stored Procedure was found.
Then there was a desire of more control over Object-Relational Mapping, better performance and ADO.NET code reduction.
Thus a set of extensions to ADO.NET methods turned into a separate project. Here is a story about Artisan.ORM or How To Reinvent the Wheel!
Finally the object graph saving method required a new approach to transmitting of more details about exceptional cases. Artisan Way of Data Reply became such an answer.
What to read for better understanding
Full information about Artisan.ORM is available in documentation Wiki.
The most interesting articles from Wiki are:
Some propositions, statements and additional information
Artisan.ORM was created to meet the following requirements:
- interactions with database should mostly be made through stored procedures;
- all calls to database should be encapsulated into repository methods;
- a repository method should be able to read or save a complex object graph with one stored procedure;
- it should work with the highest possible performance, even at the expense of the convenience and development time.
To achieve these goals Artisan.ORM uses:
- the
SqlDataReader
as the fastest method of data reading; - a bunch of its own extensions to ADO.NET SqlCommand and SqlDataReader methods, both synchronous and asynchronous;
- strictly structured static Mappers;
- user-defined table types as a mean of object saving;
- unique negative identities as a flag of new entities;
- a special approach to writing stored procedures for object reading and saving.
Artisan.ORM is available as NuGet Package.
More examples of the Artisan.ORM usage are available in the Tests and Database projects.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.Data.SqlClient (>= 5.1.4)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Json (>= 8.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.
Version | Downloads | Last updated |
---|---|---|
3.1.1 | 701 | 1/18/2024 |
3.1.0 | 384 | 12/22/2023 |
3.0.0 | 854 | 4/20/2023 |
2.2.0 | 1,183 | 1/23/2021 |
2.1.0 | 979 | 12/24/2019 |
2.0.0 | 1,592 | 2/4/2018 |
1.1.3 | 1,714 | 2/4/2018 |
1.1.1 | 2,385 | 6/21/2017 |
1.1.0 | 2,234 | 4/16/2017 |
1.0.8 | 1,732 | 1/31/2017 |
1.0.7 | 1,815 | 12/30/2016 |
1.0.6 | 1,777 | 12/11/2016 |
1.0.5 | 1,713 | 11/23/2016 |
1.0.4 | 1,994 | 11/13/2016 |
1.0.3 | 1,961 | 11/4/2016 |
1.0.2 | 2,488 | 10/31/2016 |
1.0.1 | 3,057 | 10/31/2016 |
1.0.0 | 1,748 | 10/24/2016 |
Upgrading the Microsoft.Data.SqlClient package to version 5.1.4 for vulnerability fixing.