NDatabase 2.1.0

NDatabase is a simple .Net Object Database. To avoid impedance mismatch overhead between Object and Relational worlds, give a try to NDatabase. NDatabase is a new generation Object Database: a real native and transparent persistence layer for .Net.

- Object because the basic persistent unit is an object, not a table.

- Native and Transparent because it directly persists objects the way they exist in the native programming language, without any conversion.

Using NDatabase as your persistence layer will let you focus on your business logic allowing storing and retrieving native objects in a single line of code. No more Relational to Object mapping is necessary, NDatabase just persists objects the way they are, no matter their complexity.

There is a newer version of this package available.
See the version list below for details.
Install-Package NDatabase -Version 2.1.0
dotnet add package NDatabase --version 2.1.0
<PackageReference Include="NDatabase" Version="2.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NDatabase --version 2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

* Add support for unsigned int, short, long and signed byte to NDatabase (https://ndatabase.codeplex.com/workitem/889)

* improve Triggers API (make it similar to Index one) (BREKING CHANGE)
** remove from IOdb interface methods like AddUpdateTrigger, AddDeleteTrigger, etc.
** add to IOdb interface ITriggerManager TriggerManagerFor<T>() where T : class method, which allows on all CRUD operations in terms of triggers

* changing base NDatabase API to be more developer friendly (BREKING CHANGE)
** instead of GetObjects<T> methods in IOdb interface we have Query<T> methods
** IClassRepresentation replaced with IIndexManager which controls access/creation of indexes (simplify the Index API)
** CriteriaQuery methods of IOdb interface replaced with more meaningful CreateCriteriaQuery methods (they are factory methods)
** Change IOdb inteface's GetName method to GetDbId (more meaningful)
** rename IObejcts<T> inteface with IObjectSet<T> (more Soda standard here)

* Update access level of NDatabase exception constructors (all are internal)

* make all internal exceptions the concrete classes of OdbRuntimeException (all NDatabase exceptions are public)

* UPDATE DB version to 20, earlier db files are not compatible (need to use converter) (db version compatibility runtime check)

* Add Exception Handling Sample (ndatabase/tutorial/NDatabase.Tutorial/NDatabase.Tutorial.ExceptionHandling)

* Add CSV Sample, which is showing how to take advantage when we will process csv file into NDatabase with index (querying data - performance about 4 times better than when using FileHelpers)
** (ndatabase/tutorial/NDatabase.CSV.Tutorial)

* Add unit test which is showing bug in NDatabase - using Invariant Equal on string with index is not working (https://ndatabase.codeplex.com/workitem/872)

* cleaning api for InvariantEqual (Where static class)
** public static IConstraint InvariantEqual<T>(string attributeName, T value) method relaced with
** public static IConstraint InvariantEqual(string attributeName, string value)

* clean CriteriaQuery internal code (preparing for LINQ Provider implementation)

* more minor cleanup

Dependencies

This package has no dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on NDatabase:

Package Downloads
Yarn.InMemory
Yarn In-memory Provider
ExtaHomeInterfaces
Package Description
CreativeCoders.Data.Ndatabase
Ndatabase implementation of a data repository for CreativeCoders.Data
Tangle.Framework
TangleFramework,通过 Akka.Net 实现 Actor 模型。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.8.0 25,142 5/12/2013
3.7.0 898 5/4/2013
3.6.0 993 3/16/2013
3.5.3 803 3/10/2013
3.5.2 772 3/10/2013
3.5.1 782 3/9/2013
3.5.0 829 3/2/2013
3.4.0 1,048 2/6/2013
3.3.0 839 1/19/2013
3.2.0 876 1/13/2013
3.1.0 831 1/8/2013
3.0.0 810 12/29/2012
2.2.0 842 12/9/2012
2.1.0 782 12/9/2012
2.0.1 1,443 10/15/2012
2.0.0 877 10/13/2012
1.0.4 901 10/1/2012
1.0.3.8 800 9/5/2012
1.0.2.2 793 8/29/2012
1.0.1.45 781 8/24/2012
Show less