Norm.net 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Norm.net --version 2.0.0
NuGet\Install-Package Norm.net -Version 2.0.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="Norm.net" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Norm.net --version 2.0.0
#r "nuget: Norm.net, 2.0.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 Norm.net as a Cake Addin
#addin nuget:?package=Norm.net&version=2.0.0

// Install Norm.net as a Cake Tool
#tool nuget:?package=Norm.net&version=2.0.0

Norm micro orm

The fastest database mapper for .NET Standard 2.1

the website with tutorial currently under construction

Performances

See detailed perfomance benchmarks compared to Dapper at performance tests page.

Testing

250 tests for SqlServer, PostgreSQL, SQLite and MySql

tests

Local testing

  • Under each test project there is a testsettings.json.
  • Copy this file and rename it to testsettings.local.json. It will be ignored by git.
  • Set the key Default to the value of your actual, local connection string.
  • The key TestDatabase contains the name of the test database, which is created and dropped on each testing session, so be careful about that.
  • Run dotnet test

Usage

Get it on Nuget

> dotnet add package Norm.net

Use in project

using Norm;

// Start using database connection extensions. Some examples:

// Map results to record:
public record MyRecord(int Id, string Foo, string Bar);
// ...
var records = connection.Query<MyRecord>("select id, foo, bar from my_table");

// Map results to class:
public class MyClass { public int Id { get; init; } public string Foo { get; init; } public string Bar { get; init; } };
// ...
var records = connection.Query<MyClass>("select id, foo, bar from my_table");

// Map single values from tuple to variables:
var (id, foo, bar) = connection.Single<int, string, string>("select id, foor, bar from my_table limit 1");

// Map to enumerable of named tuples:
IEnumerable<(int id, string foo, string bar)> results = connection.Read<int, string, string>("select id, foor, bar from my_table");

// Asynchronously stream values directly from database
await foreach(var (id, foo, bar) in connection.ReadAsync<int, string, string>("select id, foor, bar from my_table"))
{
    //...
}

// etc...

Currently supported platforms

  • .NET Standard 2.1

Support

This is open-source software developed and maintained freely without any compensation whatsoever.

If you find it useful please consider rewarding me on my effort by buying me a beer🍻 or buying me a pizza🍕

Or if you prefer bitcoin: bitcoincash:qp93skpzyxtvw3l3lqqy7egwv8zrszn3wcfygeg0mv

Licence

Copyright (c) Vedran Bilopavlović - VB Consulting and VB Software 2020 This source code is licensed under the MIT license.

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 netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen 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.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Norm.net:

Repository Stars
DapperLib/Dapper
Dapper - a simple object mapper for .Net
vb-consulting/Norm.net
Norm.net is an innovative and high-performance Database Access for .NET Standard 2.1 and higher
Version Downloads Last updated
5.4.0 1,840 11/28/2023
5.3.9 1,065 10/7/2023
5.3.8 638 9/7/2023
5.3.7 2,237 7/17/2023
5.3.6 300 7/2/2023
5.3.5 174 7/1/2023
5.3.4 699 5/26/2023
5.3.3 1,312 5/16/2023
5.3.2 18,446 5/3/2023
5.3.1 12,451 11/18/2022
5.3.0 2,676 10/17/2022
5.2.5 414 10/6/2022
5.2.4 389 10/4/2022
5.2.3 4,843 7/8/2022
5.2.2 467 7/5/2022
5.2.1 448 6/26/2022
5.2.0 417 6/25/2022
5.1.0 410 6/20/2022
5.0.1 416 6/16/2022
5.0.0 2,855 5/31/2022
4.3.0 444 5/7/2022
4.2.0 2,210 4/7/2022
4.1.0 19,189 2/23/2022
4.0.0 439 2/15/2022
3.3.13 583 1/25/2022
3.3.12 445 1/25/2022
3.3.11 435 1/21/2022
3.3.10 439 1/20/2022
3.3.9 459 1/11/2022
3.3.8 424 1/11/2022
3.3.7 2,129 12/11/2021
3.3.6 290 12/9/2021
3.3.5 8,267 10/18/2021
3.3.4 1,798 9/15/2021
3.3.3 323 9/4/2021
3.3.2 325 9/4/2021
3.3.1 2,627 7/25/2021
3.3.0 2,942 6/7/2021
3.2.0 10,891 3/30/2021
3.1.2 4,231 1/10/2021
3.1.1 397 1/8/2021
3.1.0 627 12/23/2020
3.0.0 364 12/21/2020
2.0.7 399 12/19/2020
2.0.6 462 12/13/2020
2.0.5 420 12/12/2020
2.0.4 425 12/12/2020
2.0.3 424 12/12/2020
2.0.2 348 12/11/2020
2.0.1 356 12/11/2020
2.0.0 399 12/9/2020
1.7.0 3,535 11/26/2020
1.6.0 789 11/23/2020
1.5.2 4,227 5/30/2020
1.5.1 441 5/13/2020
1.5.0 654 3/17/2020
1.4.0 447 3/6/2020
1.3.0 504 3/4/2020
1.2.0 614 1/29/2020
1.1.9 466 1/28/2020
1.1.8 483 1/28/2020
1.1.7 502 12/6/2019
1.1.6 472 12/1/2019
1.1.5 494 10/26/2019
1.1.4 460 10/26/2019
1.1.3 483 10/23/2019
1.1.2 481 10/7/2019
1.1.1 466 10/7/2019
1.1.0 473 10/5/2019
1.0.2 510 10/2/2019