What's New with Mendz.Data

If you followed my Dapper series back in May/June this year, you should know that Mendz.Data 1.1.0, as published in GitHub and NuGet, has major breaking changes. For starters, the new Mendz.Data is a .Net Standard 2.0 class library. Internally, there's more.

The original Mendz.Data class library contained the context and repository interfaces and base classes. It referenced Mendz.Library for the SingletonBase, which was derived by the ConnectionStringOptions singleton.

Mendz.Data.Repository was also originally a class library on its own. It also needed to reference Mendz.Library for the ResultInfo class.

Old New
  • Mendz.Library.dll
    • IDGenerator
    • ResultInfo
    • SingletonBase
  • Mendz.Data.dll
    • ConnectionStringOptions
    • IDbDataContext
    • DbDataContextBase
    • DbRepositoryBase
    • EndTransactionMode
  • Mendz.Data.Repository.dll
    • DbRepositoryException
    • CRUDS interfaces...
    • Async CRUDS interfaces...
  • Mendz.Library.dll
    • IDGenerator
    • SingletonBase
  • Mendz.Data.dll
    • DataSettings
    • DataSettingOptions
    • PagingInfo
    • ResultInfo
    • Mendz.Data.Common (namespace)
      • IDbDataContext
      • IDbDataTransaction
      • GenericDbDataContextBase
      • DbDataContextBase
      • DbRepositoryBase
      • EndTransactionMode
      • ResultInfoExtensions
      • EntityFrameworkDataSettingOption
    • Mendz.Data.Repository (namespace)
      • DbRepositoryException
      • CRUDS interfaces...
    • Mendz.Data.Repository.Async (namespace)
      • Async CRUDS interfaces...

In Mendz.Data 1.1.0, the context and repository interfaces and base classes are moved inside the new Mendz.Data.Common namespace. The Mendz.Data namespace now contains the new DataSettings and DataSettingOptions classes, which replace the ConnectionStringOptions singleton; the new PagingInfo class; and good old ResultInfo class, which is removed from Mendz.Library.

Mendz.Data 1.1.0 now contains the Mendz.Data.Repository namespace. The async versions of the CRUDS interfaces are now organized in the new Mendz.Data.Repository.Async namespace.

As a result, it is now easier to use Mendz.Data in your projects. There is no need to reference Mendz.Library, Mendz.Data and Mendz.Data.Repository. You only need to reference Mendz.Data and you're ready to go! Dependencies are simpler, making deployment easier as well.

Mendz.Data has been re-designed to simplify the creation and deployment of your contexts and repositories. It also introduced new classes and types to simplify initialization and to extend the features of the Mendz.Data.Repository(.Async) CRUDS interfaces.

Comments