为外部数据类型列强制实施唯一值 - 我知道它不可能开箱即用。验证外部数据类型列重复的灵魂是什么?工作流程?其他
答案 0 :(得分:0)
好吧,外部列表中没有可以验证数据的工作流或事件接收器,因此在SharePoint中执行此操作实际上非常复杂。我的意见是,您应该在将数据导入SP之前对其进行验证。如果你的数据源是一个数据库然后添加一个约束,如果它是一个Web服务,那么外部系统应该强制唯一性,如果它是一个自定义的外部内容类型,你可以通过代码强制执行它。
答案 1 :(得分:0)
虽然它似乎没有在MS文档中提及它,但您可以在“外部数据”上强制实现唯一性'使用PowerShell键入列。我刚刚尝试了下面的示例,它适用于SP2013农场。
Office DEV Center中的示例
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();