Karvonite - Agile .NET Persistence Framework

Monday, April 27, 2009

Announcing the Karvonite April CTP 2009 Release

The April 2009 CTP version for Karvonite has been released. The latest version is now available for download at:http://code.msdn.microsoft.com/karvonite


Saturday, April 04, 2009

Karvonite CTP April 2009 Coming Soon (Updated!)

The April CTP 2009 will be released on April.

Important: the April CTP only supports the following frameworks:
  • .NET Framework 3.5
  • XNA 3.0 or better (Windows, Xbox360 and Zune)
  • .NET Compact Framework 3.5.

This new release contains the following major features:

  • API has been simplified. Yes even more ;-)
  • Updated Documentation.
  • The ObjectSpace type has a single constructor.
  • New ObjectSpace.ObjectTrackingEnabled property. This property replaces the ObjectLibraryAccessMode enumeration which was not very intuitive.
  • ObjectSpace.Add() is now a O(1) operation. The object graph scan task is performed once you call ObjectSpace.Save().
  • Overall performance has been improved.
  • The ObjectSpace class now implements both ICollection and ICollection(T) intefaces. This means that the ObjectSpace now behaves like any other collection. As a result, related objects cannot be accessed directly from the ObjectSpace. Serialization of related object is managed automatically by the ObjectSpace.
  • API consumers now can take advantage of the available extension methods in .NET 3.5. 
  • GetFirstObject(T), GetObjects() and GetObjects(T) methods were removed from the ObjectSpace type. Consumers should now query the ObjectSpace using the iterators, extension methods or LINQ expressions.
  • New ObjectSpace.Loaded event.
  • New ObjectSpace.SaveAndClose() method. If you want to create an object library from scratch only for adding objects this new method will let you save an close the ObjectSpace without the need to create the internal copies required for change tracking. For example, it is useful to save a game session where you just need to dump objects and close the ObjectSpace.
  • Several custom exception types have been removed. We are now triggering more general exceptions.
  • The ObjectLibraryAccessMode enumeration has been removed.