This project has moved and is read-only. For the latest updates, please go here.

Sterling OODB v1.5

Rating:        Based on 6 ratings
Reviewed:  6 reviews
Downloads: 5609
Change Set: 78666
Released: Jun 5, 2011
Updated: Jun 5, 2011 by jeremylikness
Dev status: Stable Help Icon

Recommended Download

Source Code Sterling 1.5 RTM Source Code with Unit Tests and Examples
source code, 7105K, uploaded Jun 5, 2011 - 4309 downloads

Other Available Downloads

Application Sterling 1.5 RTM Binary/PDB files for browser, phone, and server
application, 301K, uploaded Jun 5, 2011 - 1300 downloads

Release Notes

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.

Reviews for this release

Very promising but let down by critical bugs and no support.
by GraGra33 on Jan 9, 2012 at 8:08 AM
I had a great experience with Sterling. I first used it in a prototype Windows Phone 7 application and later used it on a second WP7 application along with a Silverlight port and a WPF application. It was easy to get up and going on all platforms.
by kellabyte on Oct 21, 2011 at 10:51 PM
Critical bugs, very poorly written.
by bpipe on Oct 18, 2011 at 5:36 AM
I used Sterling in a WP7 app that never saw the light of day due to using homebrew. I'll admit there's a lot of room for error and I *had* to use an isolated storage tool to inspect the files to figure out I was doing it wrong. If you're looking for a lightweight "DB" to share a model codebase between WPF, Silverlight, WP7, and soon to be WinRT, this is the best option available.
by w0rddriven on Oct 11, 2011 at 4:53 PM
We are using Sterling 1.5 in a comercialy available application for Windows Phone. The database is stable/fast and the support is excellent. Looking forward for next releases supporting Windows8 and for a better update procedure.
by vgsbs on Oct 11, 2011 at 3:50 PM
We used SterlingDB for a couple of prototypes and POCs, and it looks pretty good and easy to use.
by amazedsaint on Oct 11, 2011 at 3:50 PM