This website is intended as archive for old content and forums.
Please visit http://opf3.codeplex.com for the project's new website.

Opf3 3.0.15.1227 released

Published: 08/16/08 9:51 PM

A new version of the Opf3 Framework has been released. The following is the list of changes and fixes:


  • Added support for the Sqlite database (Chili.Opf3.Storages.Sqlite.SqliteStorage).
  • Added functionality to check whether the related objects have removed objects. This enables the scenario of checking whether the related objects have been modified by moving an item to the removed list.
  • Added IdentityMap property to the ObjectContext class.
  • Added IdentityMap to the framework. This class keeps track of persistent objects in memory and therefore avoids reloads of objects that are already in memory.
  • Changed MsSqlStorage to set the type to NVARCHAR for strings that are saved to the database.
  • Changed the MappingBuilder to include the relation's persistent type that couldn't be found.
  • Added the Chili.Opf3.Mapping.Providers.XmlTypeMappingProvider and Chili.Opf3.Mapping.Providers.XmlMapping classes. The new classes allow to create mappings for persistent objects by using XML files instead of the attribute based approach.
  • Added Value property to Object(List|Set)Holder classes. The Value property should replace the, a little bit problematic named, InnerObject property in the long term.
  • Added Attach method to ObjectContext. This method attaches the Object(Set|List)Holder objects to the ObjectContext. This is required to load related objects when not having persisted or loaded the parent object.
  • Added IsModified(object, bool) overload. Allows to check the whole loaded object graph for changed objects.
  • Added IsAttached to ObjectHolderBase. Returns whether the object holder has the required data to be loaded savely; such as the parent object, the ObjectContext and information on the relation itself.
  • Exposed the ObjectContext of the object holder as public property.
  • Added Load (with several overloads) to ObjectHolderBase. Allows to manually load the related persistent objects.
  • Added AutomaticallyLoadRelatedObjects to ObjectContext. Allows to disable automatic loading of related objects.
  • Fixed different issues with the ObjectListHolder, ObjectSetHolder, ObjectHolder that came up when allowing the manual load of related objects.
  • Added support for variables in LINQ queries.
  • Added support for certain anonymous type scenarios in LINQ queries.
  • Added speed improvements to LINQ query processing.
  • Added other special cases to LINQ query parser.
  • Fixed other minor issues with the LINQ query parser.