4

对外部数据类型列强制使用唯一值 - 我知道它不可能开箱即用。验证重复的外部数据类型列的方法是什么?工作流程?其他的?

4

2 回答 2

0

好吧,外部列表不能有工作流或事件接收器来验证数据,因此在 SharePoint 中执行此操作实际上会非常复杂。我的意见是,您应该在将数据导入 SP 之前对其进行验证。如果您的数据源是数据库,则添加约束,如果是 Web 服务,则外部系统应强制执行唯一性,如果是自定义外部内容类型,则可以通过代码强制执行。

于 2011-08-31T02:31:57.767 回答
0

尽管在 MS 文档中似乎没有提到它,但您可以使用 PowerShell 将唯一性强制到“外部数据”类型列上。我刚刚尝试了下面的示例,它适用于 SP2013 农场。

https://msdn.microsoft.com/en-us/library/office/ee536168%28v=office.14%29.aspx?f=255&MSPPError=-2147217396

来自 Office 开发中心的示例

SPSite site = new SPSite("http://localhost");
SPWeb web = site.OpenWeb();

SPList custList = web.Lists["Customers"];
SPField custPhone = custList.Fields["Phone Number"];

custPhone.Indexed = true;
custPhone.EnforceUniqueValues = true;

/// You must call the Update() method 
/// when you change the EnforceUniqueValues property
custPhone.Update();
于 2018-03-07T11:06:17.267 回答