Major revamp of WilsonORWrapper coming

A few weeks ago, I released WilsonORWrapper, a framework built around Paul Wilson’s O/R mapper. Since then, I’ve been busy rewriting it, improving existing features and adding new features to the mix.

There’s a lot of changes coming, and there are many breaking changes. Among the biggest changes include:

  • Single assembly distribution. The previous Entities and Services namespaces are now combined into a single DLL.
  • Integrated logging services. Logging services to log to the Windows Event Log or to text files using NLog or Log4Net is included. O/R mapper command interception is activated for all debug logging levels. Adding other logging services will be easy in the future, thanks to a pseudo-provider model.
  • Integrated cache services. A caching framework is available, and a cache interface to the ASP.Net cache is included. Caching to memcached will be added in the near future. Adding other caching services will be easy in the future, thanks to a pseudo-provider model.
  • Simplified configuration and initialization. Simple in that it’s not required unless you want to change default settings, and everything is done from your application’s config file. Further, all components are self-initializing — just write code, no need to call any initialization or construction methods.
  • Improved services interface. Want to retrieve an object? Use the Retrieve<T> static class. Persist an object? Use the Persist<T> static class. Access the logger? Use the Logger static class. (A static Cache class is yet to be written.)
  • Extensive unit tests on the framework to ensure things work.
  • Updated CodeSmith templates work just as they did before.

The current code release for this is available in the “combined” branch of the Subversion repository. There’s still more work to do before this release replaces the current trunk, but I wanted to give those few who pay attention to this project a heads-up on the forthcoming changes.

Feel free to check out the current code distribution and let me know what you think.