Какой предпочтителен для разработки Предприятия CMS: LINQ или SP?
Обычно я делаю LINQ to Views и LINQ to хранимые процедуры. Вопрос не в том, что предпочтительнее, потому что LINQ решает, как управлять данными после того, как они запрашивают, где хранимые процедуры запускаются на стороне SQL, чтобы разрешить манипулирование запросами (или для меня, в основном, сохранение) данных, которые отнимают от наличия кода сделать это медленнее.
Я бы сказал, что при необходимости вы захотите использовать оба. Вы сохраняете в Entities, которые требуют сохранения нескольких таблиц как одну Entity? В таком случае используйте хранимые процедуры с LINQ. Если вы используете для своих таблиц отношения сущностей от 1 до 1, просто используйте LINQ.
Хранимые процедуры могут использоваться с Linq2Sql (и Entity Framework), поэтому это не выбор того или иного.
Я бы кэшировал результаты из базы данных для CMS, поскольку вы, вероятно, будете получать одни и те же данные, запрашиваемые снова и снова (кешируйте набор данных или используйте кеширование страниц, или кешируйте объекты при использовании LINQ).
Тогда не имеет значения, используете ли вы LINQ или SP, но я бы просто использовал LINQ.