Nzr.Orm.Core
0.3.0
See the version list below for details.
dotnet add package Nzr.Orm.Core --version 0.3.0
NuGet\Install-Package Nzr.Orm.Core -Version 0.3.0
<PackageReference Include="Nzr.Orm.Core" Version="0.3.0" />
paket add Nzr.Orm.Core --version 0.3.0
#r "nuget: Nzr.Orm.Core, 0.3.0"
// Install Nzr.Orm.Core as a Cake Addin #addin nuget:?package=Nzr.Orm.Core&version=0.3.0 // Install Nzr.Orm.Core as a Cake Tool #tool nuget:?package=Nzr.Orm.Core&version=0.3.0
Nzr.Orm
Fast, simple, convention-based (but configurable) and extensible Micro-Orm
Key features:
Nzr.Orm is a NuGet library that you can add in to your project providing the following features.
- CRUD Operations based on object properties: Insert, Select, Update and Delete
- Aggregate Functions based on object properties: Max, Min, Count, Sum, Avg
- Attributes to overridade table name and colum names. If not provided, the elements will be mapped as lower_case names.
- Support to schema: global for the DAO instance or defined for each table using attributes.
- Support to convert strings to dynamic XML or JSON objects, allowing
Characteristics = "<characteristic><brand>NZR</brand></characteristic>" product.Characteristics.characteristic.brand.ToString()
How to use
More examples about how to use it cab be found at github.
INSERT
State state = new State() { Name = "CA" };
using (Dao dao = new Dao(transaction, options))
{
int affectedRows = dao.Insert(state);
}
SELECT
using (Dao dao = new Dao(transaction, options))
{
State state = dao.Select<State>(123);
}
using (Dao dao = new Dao(transaction, options))
{
List<State> states = dao.Select<State>(new Where { { "Name", Where. EQ "CA" } });
}
UPDATE
using (Dao dao = new Dao(transaction, options))
{
int result = dao.Update(state));
}
DELETE
using (Dao dao = new Dao(transaction, options))
{
int result = dao.Delete(state));
}
using (Dao dao = new Dao(connectionStrings))
{
int result = dao.Delete<State>(new Where { { "Name", Where.NE, "CA" } });
}
AGGREGATE
using (Dao dao = new Dao(connectionStrings))
{
int result = dao.Aggregate<State, int>(new Aggregate(Aggregate.COUNT, "Id"));
}
Changeset
NOTE: Please wait until version v.1.x.x is released to use this project in production.
All notable changes to this project will be documented in this file.
v.0.1.0
Added support to following operations:
- int Insert(object entity)
- T Select<T>(int id)
- T Select<T>(Guid id)
- T Select<T>(object[] ids)
- IList<T> Select<T>(Where where)
- int Update(object entity)
- int Update<T>(Set set, Where where)
- int Delete(object entity)
- int Delete<T>(Where where)
- U Aggregate<T,U>(Aggregate aggregate, Where where)
v.0.2.0
Add support to transactions.
v.0.3.0
Multi Mapping and Foreing Keys (Select only)
Upcoming features!
v.0.4.0
Add support to Multi Mapping and Foreing Keys for Update and Delete
v.0.5.0
Add support to raw sql.
Know Issues
Error when using same column in both Set and Where https://github.com/marionzr/Nzr.Orm/issues/4 https://github.com/marionzr/Nzr.Orm/issues/5
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.2
- Newtonsoft.Json (>= 12.0.2)
- System.Configuration.ConfigurationManager (>= 4.5.0)
- System.Data.SqlClient (>= 4.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# Nzr.Orm
Fast, simple, convention-based (but configurable) and extensible Micro-Orm.
NOTE: Please wait until v.1.x.x to use this project in a production.
## Changeset
All notable changes to this project will be documented in this file
###### v.0.1.0
Added support to following operations:
* int Insert(object entity)
* T Select<T>(int id)
* T Select<T>(Guid id)
* T Select<T>(object[] ids)
* IList<T> Select<T>(Where where)
* int Update(object entity)
* int Update<T>(Set set, Where where)
* int Delete(object entity)
* int Delete<T>(Where where)
* U DoAggregate<T,U>(Aggregate aggregate, Where where)
##### v.0.2.0
Add support to transactions.
##### v.0.3.0
Multi Mapping and Foreing Keys (Select only)