Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saga and outbox persistence that uses Entity Framework #7025

Open
ramonsmits opened this issue May 9, 2024 · 0 comments
Open

Saga and outbox persistence that uses Entity Framework #7025

ramonsmits opened this issue May 9, 2024 · 0 comments

Comments

@ramonsmits
Copy link
Member

ramonsmits commented May 9, 2024

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

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant