This release contains stable version of NDatabase C# Lightweight Object Database
Build with:
Content:
Changes:
- Migration to .net 4 (http://ndatabase.codeplex.com/workitem/863)
- Add support for unsigned int, short, long and signed byte to NDatabase (http://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 (http://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