Entity Framework - updating two different arrays of child associations
Use design patterns to simplfiy your Data Access Layer and the Separation of concerns.

This method UpdateExercise(Exercise exercise) is very complicated and is not SRP.

Your problem in the model architecture more than in code. Of course you can use some tricks to simplify the code syntax like LINQ queries but the core problem will still there!


I recommeded you to apply Repository pattern and UnitOfwork pattern then you will see how it easy can you do all wished changes in one Transaction.
Use eager loading to inclued the wished entities(Tools,Muscles, etc.)  and load all load all everywhere
Use Linq to simplify the queries
Use attached entities, if possible!! slower but better!