将对象保存到存储库:dataObject.Properties.Set(" i_folder_id")vs dataObject.Relationships.Add()

时间:2014-08-13 13:06:58

标签: c# documentum documentum-dfs

我正在使用DFS.NET Productivity layer v6.7。

我有变量dataObjectrepoFolderPath。 我想将dataObject保存在路径repoFolderPath指定的文件夹中。

我可以通过两种方式做到这一点:

  1. 通过设置i_folder_id:

    dataObject.Properties.Set<String[]>("i_folder_id", new String[] { repoFolderPath } );
    
  2. 使用DFS .NET API:

    ObjectPath objectPath = new ObjectPath(repoFolderPath);
    ObjectIdentity linkFolderIdentity = new ObjectIdentity(objectPath, repositoryName);
    ReferenceRelationship linkFolderRelationship = new ReferenceRelationship();
    linkFolderRelationship.Name = Relationship.RELATIONSHIP_FOLDER;
    linkFolderRelationship.Target = linkFolderIdentity;
    linkFolderRelationship.TargetRole = Relationship.ROLE_PARENT;
    dataObject.Relationships.Add(linkFolderRelationship);
    
  3. 问。除了我在第一种方法中可以使用i_folder_id并且在第二种方法中我可以使用{{1}这一事实之外,如果我选择一种以上,会有什么不同}?第二组线条最终会导致设置repoFolderPath,还是会做更多的事情?

    显然,为了将i_folder_id保存到我在以下两种情况下都遵循的存储库:

    dataObject

1 个答案:

答案 0 :(得分:0)

我99%肯定在这种情况下,当您创建新对象时,这两种方法之间没有区别,但为了您的职业,请不要使用第一种方法。

我在新安装的存储库中对关系类型进行了一些研究。没有关系类型可以指示文件夹和链接到它的对象之间的某种连接。这只是巩固了我的假设,除了i_folder_id属性之外,还没有其他任何东西可以将对象链接到文件夹。

至于链接对象到多个文件夹 - 您只需重复为第一个文件夹编写的行。