✅ Design decision over multiple inserts in a single command
Hi, any design suggestions on how to handle an update command from a mvc form which update needs to update 4 different tables?
One way is to have a single handler that does all and thus controller invokes a single update service
Another is to have multiple handlers to support each table update.
In order to achieve SRP the latter seems alright, but I am uncertain as the update command I see as an atomic operation
8 Replies
You definitely want all the updates to be in a single transaction
I was not too confident around following CQRS as it denotes separation of concerns, and having a handler writing in 4 tables
but going back to what you say and thinking of it as a single transaction I agree it makes sense
thanks!
how do you see transaction as single - as a single service handling it?
Yes, one composing service. It could just call methods on finer grained services, as long as the transaction doesn't interfere/get interrupted
so essentially if at any point something fails I have to fail the entire request right
Yes
I mean it does feel right just after a confirmation
very interesting thank you, I appreciate your input
not sure how that can be achieved though.. if I managed to write in 2 tables but not on the other 2.. how do I revert the previous 2 writes?
That's for the db to figure out
You just need to cancel the transaction
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.