У нас ASP.NET CMS в качестве основного продукта, поэтому я знаком с этой проблемой. Это зависит от того, что вы подразумеваете под «сгенерированным контентом». Если вы имеете в виду пользовательский ввод, то мы храним HTML как ntext и другие элементы страницы, используя структуру таблицы, которая позволяет нам иметь гибкий набор полей для каждого элемента страницы (некоторые настраиваются с использованием одного или двух полей, другие имеют десятки). 1001 *
Основным преимуществом этого является то, что данные в базе данных представляют то, что фактически вводится пользователем. Хранение XML в базе данных SQL - это просто добавление слоя переадресации, который нам не нужен. Возможно, вы пытаетесь заставить SQL работать как хранилище OO, что является типичной проблемой, которую помогает решить ORM.
Одна проблема, с которой вы можете столкнуться, - это проблема повторного использования существующих механизмов поиска SQL с данными XML.