v1.8.0: New data driver architecture

8/29/2012 - Marco (updated on 9/18/2020)

The summary below describes major new features, items of note and breaking changes. The full list of issues is also available for those with access to the Encodo issue tracker.


New data driver API

The new API includes the following elements for applications:

  • IDataSession
  • IDataProvider
  • IDataCursor

Those are the only new interfaces and applications will just be able to upgrade from the old system to the new one by changing the identifier "Connection" to "Session" wherever the compiler has shown an obsolete warning.

  • An IMetaApplication has an IDataProvider that can be considered roughly equivalent to the IQueryableDatabase property that is now obsolete
  • The IDataSession API is unchanged from that for the IDataConnection (including all extension methods)
  • An IDataSession returns an IDataCursor when objects are retrieved, which must be disposed so that associated resources can be released

More information as to the internals of the data-driver is available in as-yet unpublished white papers. The internal APIs will settle out over the next few point releases (these changes will not affect the external APIs). Once the dust has settled, we'll make more information available. Stay tuned.

Breaking changes

  • InMemoryPersistentQueryAspect overridable members now take an IDataSession rather than an IDataConnection
  • MetaMainFormDxBase.ContextHandler is now of type IViewContextHandler rather than ViewContextHandler
  • SetupImplicitLoginAuthenticator.UpdateSecurityUser now takes an IDataSession rather than an IDataConnection
  • HierarchyClassAspectBase.CreateViewModel now takes an IDataSession rather than an IDataConnection
  • MessageTools.WhereLevel no longer exists; instead, use MessageTools.Any() instead.
  • RuleAspectBase.GetMessageTemplateValue no longer has a parameter
  • Moved Encodo.Quino.Data.Admin.IAdministrableDatabase => Encodo.Data.Admin.IAdministrableDatabase

Sign up for our Newsletter