Not sure if I understand the requirement correctly, but if you only need to know if it's currently prayer time, why fetch all the rows from PrayerTimes table? Why not just check if the time is now.
For example the following query would return a row 5 starting 5 minutes before prayer time and ending 30 minutes after. If a row is returned, it's time if no rows are returned, it's not time
SELECT pt.[Time], 1 AS PrayerTime
FROM PrayerTimes pt
WHERE pt.[Time] BETWEEN DATEADD(MINUTE, -5, GETDATE()) AND DATEADD(MINUTE, 30, GETDATE())