В SharePoint 2003 и 2007 была таблица AllLists, в которой был столбец tp_Fields, содержащий xml, содержащий все поля для определенного списка.
Пример XML-файла, хранящегося в столбце tp_Fields, может быть таким для Списка SharePoint с 3 полями:
<FieldRef Name="ContentTypeId" />
<FieldRef Name="_ModerationComments" ColName="ntext1" />
<FieldRef Name="WebPartTypeName" ColName="nvarchar9" />
У нас есть приложение, которое читает этот столбец, используя код C #, например.
var tpFields = (String) drView["tp_Fields"];
В SharePoint 2010 тип данных этого столбца изменился на varbinary и вместо него содержит только некоторые двоичные данные!
(Я знаю, что идеальным / рекомендуемым решением было использование веб-служб SharePoint или объектной модели SharePoint, а не использование базовых таблиц, но, к сожалению, у нас есть существующее приложение, и нам нужно было бы заставить его работать и в 2010 году. Надеюсь, нам не нужно все переделывать!)
Как узнать, какие поля имеет список SharePoint из своей базы данных в SharePoint 2010? или, если возможно, как преобразовать этот столбец varbinary в его эквивалентный xml, как раньше?
Надеюсь, вопрос ясен (мало надежды на его вероятность).
Спасибо