Ninja .NET Database Pro

$ 199.00

Ninja Database Pro is deadly good. Ninja Database Pro is a lighting fast, compact, ACID compliant database. It can be used as a database for the .NET Framework, .NET Standard, .NET Core, Mono, Xamarin.iOS, Xamarin.Mac, Xamarin.Android and Universal Windows Platform. It is the first database supporting either object database mode or relational database mode. You choose how to save your child objects as embedded or in a seperate table. It supports all the features you expect: LINQ index queries, paging, transactions, constraints, triggers, caching, BLOB, CLOB, Import XML, Export XML, Auto Identity Primary Keys, and foreign key relationships. Industry standard AES encryption and Mini LZO compression are included. Unlike most other databases, Ninja Database Pro can save complex data structures such as double linked lists, multi-dimensional arrays, and dictionaries. Databases can be created in memory, isolated storage, or normal file storage. When you compare Ninja Database Pro to any other database available what you will find is that using Ninja Database Pro requires far less code. Ninja Database Pro can be used as a .NET database with C# or a as a VB.NET database. At around 220KB, you might scratch your head how we put in all these features. The source is available if you really want to know. Download the full list of features.

While it can be purchased separately, this product is also included in the Gold Suite. Gold Suite subscribers receive all product updates and all new products as part of a yearly subscription. It is the best value in the industry.

Features

Feature Description
Easy to Use Zero configuration. Open the database, the database is automatically created. Save your object and the table is automatically created and your object is saved. That is it. Indexes are automatically maintained. Classes are not required to implement any interface or base class. Example demos in C# and VB.NET are included. The help file contains code examples for all methods and properties.
ACID Compliant If a problem occurs while saving a record it automatically rolls back. If your application loses power during a transaction, it is automatically rolled back during the next database open. Make your application worry free.
Robust Ninja Database Pro was developed with Test Driven Development. We have over 560 unit tests and 90% code coverage. One feature that separates Ninja Database Pro from all other databases is Advanced Dynamic Schema Evolution. Inserting properties, deleting properties, or changing property types in your classes is automatically handled; even things like changing from an integer to an enum. These types of changes break most object databases.
Secure Encrypt with built industry standard AES Encryption. This can be overridden with your own software or hardware based encryption.
Compact Using binary serialization instead of JSON or XML serialization makes a big difference in the size of the .net database. Turning on the built in compression makes the database even smaller. Ninja Database Pro saves all records to a single index file and data file. Most other object databases save each record as a seperate file which wastes a lot of space on disk.
Fast Indexes are cached. Objects are cached and expired using LRU (Least Recently Used). Cache size and expiration timeout are configurable. Support for IsDirty also increases application speed. Index queries only load records which match the index value.
Fully Featured Accelerate your project by writing less code. Ninja Database Pro contains many time saving features. For example, most databases require several lines of code to create an Auto Increment Primary Key. Ninja Database Pro requires no lines of code. It is completely automatic.
Multiple Platforms One API Target multiple platforms with your application using a single API.
100% Managed Code 100% managed code written in C#.
Royalty Free Distribution Include with any .NET project royalty free.
1 Year Free Upgrades Purchase today and all upgrades are free for the next year.
60 Day Money Back Guarantee At Kellerman Software, we want you to be totally satisfied with your purchase. Receive a refund within 60 days when ordering from KellermanSoftware.com. Source code versions are non-refundable due to their nature.
Lifetime Support Lifetime E-mail technical support is included.

How does the Ninja .NET Database Pro stack up against the competition?

Download In Excel

Download a free 30 day trial today.

  • Full working version
  • Includes technical support
  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 4.0 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.

Download Options

Ninja Database Pro requires the following system configuration.

  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 4.0 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.
NinjaDbPro db = new NinjaDbPro("MyDatabaseDirectory", "MyDatabaseName"); 

//Licensed Mode 
//db.UserName = "John Smith 101224"; 
//db.LicenseKey = "aousdf832jasf=="; 

//Set before OpenDatabase. Default storage is IsolatedStorageDatabase. Other options are: 
//db.Storage = new MemoryDatabase(); //In memory database 
//db.Storage = new FileDatabase(); 

db.OpenDatabase(); 

Person person = new Person(); 
person.Name = "John Smith"; 

//Insert a person 
db.Save(person); 

//Load a person 
Person personCopy = db.Load (person.PersonId); 

//Update a person 
person.Name = "John Jones"; 
db.Save(person); 

//Delete a person 
db.Delete(person); 

db.CloseDatabase();

Q: How do I use my license key?
A: NinjaDbPro ninja = new NinjaDbPro("DatabaseDir","DatabaseName");
ninja.UserName = "John Smith 101555";
ninja.License = "1234sou==";

Q: I lost my license key how do I retrieve it?
A: Go to your account

Q: I lost my software how do I retrieve it?
A: Go to downloads

Q: Where can I download the latest version of my software?
A: Click the download tab.

Q: How does the licensing work?
A: Each developer that uses Ninja Database Pro must have a license. You may distribute your application to end users royalty free. A site license is for all the developers in a single building.

Q: What happens when the trial expires?
A: An exception is thrown, indicating that the trial is expired.

Q: Are the data files compatible accross the desktop, silverlight, and windows phone 7?
A: Yes.

Date Version Description
10/20/2010 1.00 Initial Release. Ninja Database Pro is an ACID compliant database for Windows Phone 7, Silverlight 3, Silverlight 4, .NET 3.5, and .NET 4.x. Features include transactions, indexes, constraints, LINQ queries and more. Find out more.
11/20/2010 1.05 This update fixes a stack overflow issue when adding an index to a table with over 100,000 records. Other changes; increased the performance of AddIndex, decreased the file size of indexes, fixed growing database size when packing after an index was removed, more detailed error message when there is no empty constructor for a type.
12/29/2010 1.15 All assemblies for Ninja Database Pro are now marked CLSCompliant. Bug fixes; giant file size increase when using multiple indexes with hundreds of thousands of records, multithreaded issue with ObservableCollection, memory database with Silverlight and NUnit. New features by customer request: primary key attribute, ability to serialize inherited List, ability to serialize inherited dictionaries, ability to serialize ObservableCollections, ability to serialize IList, ICollection, ability to serialize a URI, and late loading by Type.
1/1/2011 1.16 The performance of Ninja Database Pro has been greatly increased on the Windows Phone 7 platform.
2/24/2011 1.18 New features have been added by customer request: ability to support multiple parents of the same type for ancestry applications, ability to serialize duplicate objects in a list, and LoadAllWithChildren for loading the entire object graph of a list at once. Defect fix: foreign keys not updating when two parents swap children at the same time.
4/30/2011 1.23 Transaction performance has been increased. Ninja Database Pro now supports IsDirty for single objects, parent objects, and child objects. Only objects that are dirty in the object tree are updated.
5/4/2011 1.24 By customer request it is now possible to alter the key size when using encrypted databases. See the new property EncryptionKeySize.
8/2/2011 1.25 By customer request it is now possible use IList in addition to List when defining child relationships.
8/24/2011 1.26 By customer request, Ninja Database Pro now supports saving databases to the My Documents directory when Silverlight 4 is running in out of browser mode.
8/30/2011 1.27 This is a minor release to fix an install error that occurred in some environments.
10/1/2011 1.28 By request Ninja Database Pro supports paging. Paging is supported for lists, for lists with children, and also by index.
11/28/2011 2.0 New features include higher performance, object caching, triggers, support for lists and dictionaries of type object. Also, the tests are now included in the install.
1/17/2012 2.12 Version 2.12 adds several new highly requested features including; support for WriteableBitmap, support for Silverlight 5, automatic database repair even when outside a transaction, and support for expanded circular references.
3/7/2012 2.14 The performance of transactions have been greatly improved.
3/26/2012 2.16 By customer request, Version 2.16 adds the ability to encrypt the external schema file.
4/10/2012 2.17 By customer request, Version 2.17 adds the ability to open databases created in Silverlight or Windows Phone 7 on the desktop edition.
7/3/2012 2.18 An enhancement was made to flush individual records.
7/20/2012 2.20 By customer request, Version 2.20 adds the ability to get the next primary key for an insert for an object type and also the ability to do a Load Partial and Save Partial.
8/24/2012 2.22 The indexes have been completely rewritten with powerful features and increased performance. These features were added, the ability to perform LINQ query indexes with lazy loading, ability to perform StartsWith, Contains, and EndsWith on string indexes, full text search indexes by phrase, keywords, or regex; improved transaction speed.
9/21/2012 2.23 The help file has been updated to explain load partial and save partial.
3/23/2013 2.24 By numerous customer requests, Ninja Database Pro is now compatible with Mono and Xamarin's MonoDroid and MonoTouch. Now you can build applications for .NET, Silverlight 3, Silverlight 4, Silverlight 5, Windows Phone 7, Windows Phone 7 Mango, Android, and the iPhone. We also have Ninja WinRT Database for building WinRT Databases and Windows Phone 8 databases. The files can be shared across all supported platforms. Add both in your cart for a discount.
4/13/2013 2.24b This update fixes an index issue specific to iOS and MonoTouch.
6/27/2013 2.25 Performance has been increased when inserting thousands of records with an index. IsDirty is now set to false on load.
7/20/2019 3.00 It is now compatible with .NET Standard, .NET Core, and UWP.
9/14/2019 3.11 Builds for .NET Framework 4.7, 4.7.1, 4.7.2, and 4.8.
12/21/2021 3.15 Fix for warnings under .NET Maui
1/27/2022 3.17 Allow custom encryption for the schema.
4/7/2022 3.18 Defect fix if the database was created an then immediately exited without any data saved.
7/28/2022 3.19 Fix Object Reference Error for Xamarin Forms.