The db4o open source object database is introducing the concept of Native Queries into their new 5.0 release.
Native Queries are a new approach to express database queries with .Net syntax, completely without the use of strings. Native Queries are fully checked at compile time, they can be written using IDE autocompletion and they can be automatically refactored by the IDE. An example query would look like this:
IList <Cat> cats = db.Query <Cat> (delegate (Cat cat) {
return cat.Father.Father.FirstName == "Occam" || cat.Father.FirstName == "Occam" && cat.Age > 3;});
Currently there is an ongoing discusion on Theserverside.com about Native Queries.