Supporting Entity Framework (EF) to persist sagas benefits many users that want to have state serialized into a table structure like NHibernate as some users do not like NServiceBus.Persistence.Sql using JSON BLOB's for saga instance state and NHibernate is not outdated and very slow and popular on .NET.
Advantages
EF is very actively maintained and performance is very good compared to NHibernate
Schema (tables structure) is preferred over schema less (JSON BLOB) when storing data in a relation database.
EF supports data/schema migrations out of the box making is much easier to create and update. Especially in an environment that already is using EF. (NHibernate does not)
Custom saga finders based on EF are easy to create
As EF uses regular tables its much easier to replicate data with ETL to for example a datawarehouse
Much easier for operators/administrators to query tables when there are production issues than the JSON BLOB in SQLP
Describe the feature.
Currently https://github.com/Particular/NServiceBus.NHibernate and https://github.com/Particular/NServiceBus.Persistence.Sql exist that can store sagastate in various database types.
Supporting Entity Framework (EF) to persist sagas benefits many users that want to have state serialized into a table structure like NHibernate as some users do not like NServiceBus.Persistence.Sql using JSON BLOB's for saga instance state and NHibernate is not outdated and very slow and popular on .NET.
Advantages