#sharepoint
#sharepoint
Вопрос:
У меня есть два списка sharepoint.
Список 1 — содержит всех пользователей и имеет первичный ключ в качестве идентификатора пользователя Список 2 — содержит все курсы и имеет первичный ключ в качестве идентификатора курса
Теперь я хочу определить третий список, первичный ключ которого будет являться составным ключом. Список 3 — Содержит сопоставление пользователей с курсами. Таким образом, первичный ключ представляет собой комбинацию (userId, CourseID).
Когда я определяю List3, я добавляю столбцы со страницы настроек списка. Когда я создаю новый столбец, я могу выбрать Поиск и выбрать внешний ключ из другого списка. Но я не могу определить составной ключ. (где ключи берутся из другого списка).
Есть ли способ определить составной ключ для списка в sharepoint 2010?
Спасибо
Ответ №1:
Sharepoint не является базой данных, а списки не являются таблицами. В Sharepoint нет первичных, внешних ключей или связей (в смысле базы данных). Хотя метафора DB используется для объяснения Sharepoint, это всего лишь метафора, а не способ работы Sharepoint. Самое близкое к Sharepoint, что вы можете найти в мире баз данных, — это базы данных документов.
Возможно, вы путаете поля подстановки с первичными ключами. Поле подстановки — это поле, значения которого поступают из другого списка. Они не определяют связь между списками. Тем не менее, Sharepoint 2010 позволяет применять ограничения на удаление, чтобы вы не могли удалить элемент списка, который используется в качестве значения поиска в другом списке. Он устанавливается на уровне поля поиска и только в том случае, если поле поиска допускает единственный выбор.
Чтобы установить ограничение программно, используйте SPFieldLookup.Свойство RelationshipDeleteBehavior. Чтобы установить ограничение в пользовательском интерфейсе, найдите поле поиска в настройках целевого списка, откройте его настройки и включите «Принудительное поведение в отношениях» в разделе «Отношения».