Initial import into Git. Started supporting partially-realized objects in order to support partially updating objects without first having to query for the object.
Added missing x64/SQLite.Interop.dll. Updated .gitignore to not ignore x64 dir.
Added missing Shaolinq/Persistence/Sql directory (removed exclusion from gitignore).
Re-factored, tidied and fixed DataAccessModelTypeBuilder
Tidied up the way DataAccessObject code is reflected. Updated the way AutoIncrement properties are handled:
  - AutoIncrement properties are no longer written to assume they're primary keys
  - Added unit tests for AutoIncrement properties.
Fix bug in SqlPersistenceTransactionContext.Insert
Added support for deflated object references with auto-inflation.
Added more tests (PrimaryKeyTests, RelatedObjectsTests, more).
Changed properties that are [AutoIncrement] to never be user-settable.
Some fixes to non autoincrement primary key handling
DataAccessObjectDataContext now caches objects that have non-autoincrement (user defined) primary keys only when the primary key is defined (DAO will cache itself when its primary key is set)
Fixed: SUM and other aggregate functions (except for COUNT) not working if used without GROUP
Fixed: GroupBy multiple columns not formatting in SQL properly (added GroupByCollator.cs)
Added: More LINQ unit tests
Fixed RedundantFunctionCallRemover not working recursively
Added string.Contains support using SQL LIKE operator
Added DataAccessObjects.RefernceTo method to get deflated references to objects by primary key
Added DependsOnPropertyAttribute for non-persisted properties that are used in ComputedText properties.
Added TYPENAME variable substitution support in ComputedText property format strings
Changed module and assembly names of dynamic data access model assembly to be the same (need for ILSpy support)
Lots more LINQ tests
Fix ComputedText properties failing when property depends on an AutoIncrement integer primary key
Added check to make sure that updating using deflated references throws an exception
Prevent editing of deleted objects. Throw exceptions when trying to update objects that no longer exists in the DB. Re-querying for objects already deleted does not resurrect objects but rather returns the new objects in deleted state. Changed properties within a transaction are unchanged with the new values is merged.
Added foreign constraint support to SQLite. Related objects now return NULL if the foreign key properties on the object aren't valid rather than a deflated reference with invalid primary keys.
Added more tests.
Deflated references no longer generate computed fields when their primary keys are set by BaseDataAccessModel.GetReferenceByPrimaryKey
Deflated references should have their modified status reset when created.
Added more LINQ tests
Added some  SQL join unit tests
Fixed Sqlite LIMIT support backwards (mysql style) instead of sqlite style
Started adding support for implicit joins when querying an object's related object
More support for creating implicit joins to query using select/where. Fixed bug where complex select projectors should be carried out app side rather than db side