Currently it takes EventFlow no less than five EventFlow NuGet packages to get support for Microsoft SQL Server if you want to use it for both event store and read store.
EventFlow: Core package
EventFlow.Sql: Contains general SQL support for EvenFlow which is shared with the SQLite event and read model stores
EventFlow.MsSql: General MSSQL support
EventFlow.ReadStores.MsSql: MSSQL read store support
EventFlow.EventStores.MsSql: MSSQL read store support
In an upcoming release of EventFlow, the
EventFlow.EventStores.MsSql will be deprecated and the containing
functionality will be moved to the
Changing the package layout is something that will be somewhat annoying for any developer that use EventFlow. But I hope by making this change now, it will ease managing EventFlow packages in the future.
To ease the transition, the deprecated packages will be provided for a few
releases, but they will not contain any DLL files. In the general case, the only
breaking change will be a new namespace for the
UseMssqlEventStore extension methods.
The changes to EventFlow itself would have been trivial if it wasn’t for the inclusion of SQL migration scripts for setting up the event store table and table type used to pass events effectively to the MSSQL server. The scripts will be moved, but they will also have to be updated to be idempotent, i.e., make sure they don’t try to execute if e.g. the event store table is already present.
If you want to follow the progress or leave comment, have a look at the GitHub pull request #204 or leave a comment here.