在sharepoint中为外部数据类型列强制实施唯一值

时间:2011-08-30 10:23:15

标签: sharepoint sharepoint-2010 bdc

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

虽然它似乎没有在MS文档中提及它,但您可以在“外部数据”上强制实现唯一性'使用PowerShell键入列。我刚刚尝试了下面的示例,它适用于SP2013农场。

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

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();