Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
I'm fixing this in the simplest way possible as this kind of issue is
specific to EF core, which may cease to exist quite soon. Turns out the
re-retrieval of the beatmap set causes concurrency confusion and wasn't
actually needed in my final iteration of the new beatmap logic.