Joo,
You are correct, there is no API for getting all of the entities by type.
I would also explore whether there's an alternative approach that might be better. Getting everything and looping through it this way can have a few issues.
First, what happens if this loop fails partway through? You'll have sent the command to some entities but not to others, and there isn't really an easy way to resume from the middle of a failed batch.
Second, this will load all of your entities into RAM in quick succession, so you'll need to have enough RAM available to hold your entire data set resident and will have periodic spikes in resource consumption.
What triggers the code above? Will it resume scheduled runs if the node it runs on fails? How do you make sure it doesn't run more than once per day if it restarts on another node?
What's happening in the RunDailyBatch command? At the very least, I would suggest spreading the load out over the day, which might mean putting the "next run" time into your read-side repository database based on the time of each entity's creation. Then you would be loading all of the repositories that are past due, rather than absolutely all of them. At the end of the daily batch, you would emit an event that updates the repository and sets the next run to +1 day.
Cheers,
Tim