2010-07-07 15 views
1

我有兩個共享點列表。共享點列表中的複合外鍵

列表1 - 這包含所有用戶和具有主鍵用戶ID 列表2 - 這包含所有課程,並有主鍵CourseId

現在我想要定義,將有其主鍵複合鍵榜第三。 List3 - 這包含用戶到課程的映射。所以主鍵是(UserId,CourseId)組合。

當我定義List3時,我從列表設置頁面添加列。當我創建一個新列時,我可以選擇查找並從另一個列表中選擇外鍵。但我無法定義組合鍵。 (鑰匙來自不同的列表)。

有沒有辦法爲sharepoint 2010中的列表定義組合鍵?

謝謝

回答

4

Sharepoint不是數據庫,列表不是表格。在Sharepoint中沒有主鍵,外鍵或關係(在數據庫中)。雖然數據庫隱喻用於解釋Sharepoint,但它僅僅是一個比喻,而不是Sharepoint的工作方式。您可以在數據庫中找到最接近Sharepoint的文檔數據庫。

也許你在使用主鍵混淆查找字段。查找字段是其值來自另一個列表的字段。他們沒有定義列表之間的關係。也就是說,Sharepoint 2010允許您強制執行刪除約束,以便您不能刪除用作另一個列表中的查找值的列表項。這是在查找字段級別設置的,並且只有在查找字段允許單一選擇的情況下。

要以編程方式設置限制,請使用SPFieldLookup.RelationshipDeleteBehavior屬性。要從UI設置限制,請在目標列表設置中找到查找字段,打開其設置並在「關係」部分中啓用「Enforce Relationship Behavior」。