Sharepoint 列表中的复合外键

Ven*_*nki 1 sharepoint

我有两个共享点列表。

List1 - 包含所有用户,主键为 UserId List2 - 包含所有课程,主键为 CourseId

现在我想定义将其主键作为复合键的第三个列表。List3 - 这包含用户到课程的映射。所以主键是 (UserId, CourseId) 组合。

当我定义 List3 时,我从“列表设置”页面添加列。当我创建一个新列时,我可以选择 Lookup 并从另一个列表中选择外键。但我无法定义复合键。(其中键来自不同的列表)。

有没有办法为sharepoint 2010中的列表定义复合键?

谢谢

Pan*_*vos 5

Sharepoint 不是数据库,列表也不是表格。Sharepoint 中没有主键、外键或关系(在数据库意义上)。虽然 DB 比喻用于解释 Sharepoint,但它只是一个比喻,而不是 Sharepoint 的工作方式。在数据库世界中,最接近 Sharepoint 的是文档数据库。

也许您将查找字段与主键混淆了。查找字段是其值来自另一个列表的字段。它们没有定义列表之间的关系。也就是说,Sharepoint 2010 允许您强制执行删除约束,这样您就无法删除在另一个列表中用作查找值的列表项。这是在查找字段级别设置的,并且仅当查找字段允许单一选择时才设置。

要以编程方式设置限制,请使用SPFieldLookup.RelationshipDeleteBehavior属性。要从 UI 设置限制,请在目标列表的设置中找到查找字段,打开其设置并在“关系”部分启用“强制关系行为”。