.NET Enterprise
Developers need a standard way to store objects persistently in
transactional data stores. Furthermore, they need a standard way to
treat relational database data as objects, and a standard way to
define transactional semantics associated with those objects.

Microsoft Object Spaces is designed to work on all .NET platforms. All
.NET platforms - desktop,
server, personal, embedded, and card - can use this API to access
data.

The ObjectSpaces architecture lets you expose data as objects and
lists of objects rather than as tables, columns, rows, or XML
elements.

Objects defined within the ObjectSpaces architecture are known as
persistent objects.

Once you've defined a
persistent object, you can use an ObjectSpace to create instances of
the object and to persist the object data to a data store, retrieve
and persist objects back to the data store, as well as delete
instances of the object from the data store.

Microsoft ObjectSpaces
provides both an XMLObjectSpace to connect to an XML datastore and a
SqlObjectSpace to connect to Sql Server. Both provide facilities to
edit, update, add, and delete data.

MS ObjectSpaces
provides a protective transactional business logic layer for your
source data layered on top of ADO.NET. You use the Object Query
Language (OPath) to write queries that use conventional C#
operators. OPath also handles updates to the source database or XML
document and supports transactions.

In summary, as
Microsoft says,

Microsoft .NET
ObjectSpaces are a set of classes and interfaces that enable you to
treat data as an object (or objects), independent of the underlying
data store used by an application. ObjectSpaces builds on and
contains a set of new data access APIs within the Microsoft .NET
Framework to provide access to relational data sources such as
Microsoft SQL Server®, OLE DB data sources, etc.

You can use the ObjectSpaces to perform the following data related
tasks/steps:

Get data as objects from a data source using a particular query
criteria
Navigate one-to-many or one-to-one relationships using the objects
returned
Modify the values/properties of the objects
Resolve changes back to the data source

Latest Update on Microsoft ObjectSpaces

Wednesday, October
02, 2002 9:14 PM

According
to Guang-an Wu who works for the company, Microsoft have
utilized the feedback received via newsgroups and through
customer meetings to improve ObjectSpaces further. Currently,
ObjectSpaces is being developed as a part of the next major .NET
framework release.
Stay tuned for further announcements at the PDC next year.

Since the component is still under development, many of the
details are still being decided and are not yet available for
public release. However, here are some of the highlights, with
the usual caveat that all details are subject to change without
further notice. And Additional details beyond these highlights
are not available at this point for release.

Unlike the PDC 2001
Technology Preview, classes don't need to be abstract. The
goal is to make ObjectSpaces available for all .NET objects.

The foundation is a better
optimized streaming model for fast retrieval of objects.

Key features like simplicity
of OPath queries for retrieving objects, choice of span or
delay loading are being enhanced and improved.

More sophisticated support is
planned for inheritance and advanced mapping between classes
and one or more tables.

Further, tools support for
application development lifecycle is in the works.