This was causing deletions of scores without considering that scores are now managed by a ScoreManager (and have their own data dependencies).
Also moves delete and action logic to a shared implementation
Also add finaliser logic for safety. Also better threading. Also more cleanup.
Not yet working
No database-level where clauses were being used in many cases they should be.
Main fix is avoiding nullrefs being thrown when metadata isn't present on a beatmap (quite a common scenario).
Because we are not sharing a single context, we need to use Update to attach the entity to the local context.
This reverts commit 7cf5d63cd3.
7cf5d63cd3