When I run workouts I can hit my paces just fine and I feel great. But when I get to a race everything just sort of falls apart and I end up running really badly. I've consistently been running ~2 minutes off my PR (for the last 3.5 months) even though I'm fine in workouts that make it seem like I should be able to PR (i.e. I do 12-mile long runs at 7:00-7:15 pace the entire time, and recently I did 5x1600m all between 5:50-6:10 with 2 minute rests, but still haven't broken 20:00 in the 5K this season even though my PR is 18:15).
If I wasn't hitting workout paces correctly then I'd assume it's an endurance/speed/general running-related issue, but the workouts are fine, which is why I think it's more of a mental block than anything else. How do I fix this? I'm really sick of running bad times when I know I can do better but I'm not sure exactly what I'm doing wrong.