Как обычно, это зависит от:)
Если что-то может быть обновлено фоновыми процессами, которые не используют кэш второго уровня, или изменены непосредственно в базе данных, кэширование вызовет проблемы.
Объекты, к которым редко обращаются, также не могут быть хорошими кандидатами для кэширования второго уровня, так как они просто занимают место.
Кроме того, вы можете увидеть некоторые странности, если у вас есть коллекции, отображенные как Inverse- изменения не будут правильно восприняты кэшем второго уровня, и вам нужно будет вручную удалить коллекцию.
Как указывает sJhonny ниже, если у вас есть сценарий веб-фермы (или любой другой, где ваше приложение)работает на нескольких серверах) вам нужно использовать распределенный кеш (например, memcached) вместо встроенного кеша ASP.net.