Мы смогли выполнить это для клиента с помощью рабочего процесса.Мы сохранили форму в SharePoint, а затем взяли XML и поместили его в SQL.Одним из преимуществ этого является то, что вы можете хранить в SQL только те поля, которые вам абсолютно необходимы.
Краткое руководство:
- Измените форму для отправки в SharePoint.
- Продвигайте поля, которые вы хотите видеть в SharePoint Подробнее о продвижении полей
Создайте новый набор рабочих процессов SharePoint для запуска при создании или обновлении и внедрите следующеекод:
public Guid workflowId = по умолчанию (System.Guid);public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties ();
private void onWorkflowActivation_Invoked (отправитель объекта, ExternalDataEventArgs e) {if (workflowProperties.Item.File.Exists) {// получить содержимое строки файла;using (StreamReader reader = new StreamReader (workflowProperties.Item.File.OpenBinaryStream ())) {contents = reader.ReadToEnd ();} string fileName = Path.GetFileNameWithoutExtension (workflowProperties.Item.File.Name);}}
Приведенный выше код создаст все содержимое файла XML, а также имя файла.Используете ли вы код для получения определенных значений или передаете всю строку XML в SQL, зависит только от вас.Я бы порекомендовал использовать уникальный идентификатор SharePoint для идентификации записи в SQL.Это позволит вам синхронизировать любую операцию CRUD над записью SharePoint с записью SQL.