Welcome to the Sterling 1.5 RTM. This version is backwards compatible without modification to the 1.4 beta. For the 1.0, you will need to upgrade your database. Please see
this discussion for details.
You must modify your 1.0 code for persistence. The 1.5 version defaults to an in-memory driver. To save to isolated storage or use one of the new mechanisms, see the available drivers and pass an instance of the appropriate one to your database (different databases may use different drivers).
Sterling is also available via NuGet:
Sterling (All Versions but Windows Phone)Sterling (Windows Phone 7)This product has been used and tested in many applications and contains a full suite of unit tests. You can refer to the
User's Guide for complete documentation, and use the unit tests as guides to show various patterns and possibilities with the framework. (Database is currently being updated for the version 1.5 release, please browse the discussions for more relevant information).
This release adds the following features to version 1.0:
- Fixed trigger on foreign keys, so triggers that generate keys properly save in nested classes
- Added Refresh method to database to refresh the keys and indexes from disk
- Queries now return a full list (copy) of the keys/indexes as opposed to enumerable or queryable, this keeps the original list protected and eliminates different return types between platforms
- Table definitions can be supplied with a predicate to determine if an instance is "dirty" or not. If the predicate returns false, the nested object will not be saved - useful for saving a parent that has lots of children that haven't been updated
- New driver architecture, with a default in-memory driver
- Elevated trust driver for OOB applications that uses the local file system instead of isolated storage
- Table definitions can now be added "on the fly" and are not required to be added only in the database method. Note: the tables must always be added in the same order - Sterling will break if you add table a, table b in one session, then table b and table a in another - regardless of the way you discover tables you must always register them in the same order without skipping any previously defined tables.
- Multiple performance enhancements
- Special upgrade helpers to migrate 1.0 isolated storage databases to 1.5 RTM format
- Improved concurrency - added additional locks on type caches and directory paths
- Server (desktop/core framework) version with memory and filesystem driver added
- New example solutions showing how to backup/restore database image and the full recipes example (updated to version 1.5) from this MSDN article
- New SaveAs method to save a derived class as the base type
- Custom ignore attribute - you may now use your own ignore attribute to ignore properties on classes, without having to reference the Sterling DLL
- Added SerializationNode to help with custom serialization, and injecting the Sterling recurision into custom serializers
Read
this link for more detailed information. The documentation will be updated over the next several weeks to include the latest features.
If you have any questions, issues, or concerns, please use our active
Discussions. Feature requests for the next version can be posted to the
Issue Tracker.