Recently I started to work on a Smalltalk project using Gemstone as ODBMS. Gemstone goes one step further than other ODBMS systems like db4o. Gemstone does not even require an explicit query or storage operation of your objects into the DB. It is enough to make your business object subclass of PersistentObject such that it will automatically be stored and read. In this way, only minimal coding overhead is required enabling object persistence (almost) for free. However, for providing this powerful mechanism the database and the virtual machine need to be closely linked together.
With the integration of LINQ into .NET Microsoft is going to dramatically increase the value and the productivity of .NET. Nevertheless, I am wondering if Microsoft has the intention to develop a native ODBMS technology for .NET in the near future since, being the producer of the .NET framework, it has the opportunity to integrate a powerful object oriented database engine providing the same features as Gemstone does for Smalltalk.
Gemstone is the simplest thing that could possibly work for object persistence - it's a Smalltalk implementation and a database, so you can drive your objects right there on the server. What if you have a well entrenched RDBMS as the "database of record"? Well, Gemstone can act as an application server/cache in front of said DB, and drop data to it on a regular basis - they have RDBMS connectors for that kind of thing. There's a non-commercial version of Gemstone right on our NC CD, so you can download it and try it out.