C# V1APIConnector已弃用

C# V1APIConnector已弃用,c#,.net,versionone,C#,.net,Versionone,在构建asp.net项目时,我收到一条警告,V1APIConnector已被弃用,并要求我使用VersionOneAPIConnector 使用新版本的Neapiconnector,我必须执行以下操作才能获得子项目: 为我们需要的数据构建一个字符串(ex:'FOO'&sel=Children.Name),然后将其传递给GetData方法 读取返回的流,然后创建xml 读取xml以提取所需的数据 使用V1APIconnector检索数据要简单得多 创建IMetaModel和服务实例 查询适当的as

在构建asp.net项目时,我收到一条警告,V1APIConnector已被弃用,并要求我使用VersionOneAPIConnector

使用新版本的Neapiconnector,我必须执行以下操作才能获得子项目:

  • 为我们需要的数据构建一个字符串(ex:'FOO'&sel=Children.Name),然后将其传递给GetData方法
  • 读取返回的流,然后创建xml
  • 读取xml以提取所需的数据
  • 使用V1APIconnector检索数据要简单得多

  • 创建IMetaModel和服务实例
  • 查询适当的assettype(GetAssetType方法)和属性 (getAttributedefinition)
  • 使用VersionOneAPIConnector,上述方法仍然有效吗?
    如果是,我们有没有关于如何获取项目的子项目的示例


    谢谢

    您收到的编译警告是因为VersionOne.SDK.APIClient当前正在内部使用V1APIconnector,显示此警告的唯一原因是,我猜,您在项目中包括VersionOne.SDK.APIClient,这种方法有时不可取,因为您可能会错过更新。最好的办法是使用nuget。添加到myget.org()上V1 gallery的参考(工具->选项->打包管理器->包源),这样您就可以更新DLL

    关于你的问题: 您不需要直接使用VersionNoapicConnector,但这里有两个列出子项目的示例:一个使用您提到的元模型,另一个使用VersionNoapicConnector

    //示例1:使用元模型列出“Foo”的所有子项目

    var assetType = _context.MetaModel.GetAssetType("Scope");
    var query = new Query(assetType);
    //Filter Attribute
    var parentNameAttribute = assetType.GetAttributeDefinition("Parent.Name");
    //Filter
    var filter = new FilterTerm(parentNameAttribute);
    filter.Equal("Foo");
    query.Filter = filter; 
    var result = _context.Services.Retrieve(query);
    
    示例2:列出“Foo”的所有子项目,包括versionOnePiconnector和V1用户及密码。

    Stream streamResult = new VersionOneAPIConnector("https://abc.org/v1sdktesting/rest-1.v1/Data/Scope?where=Parent.Name=%27Foo%27").WithVersionOneUsernameAndPassword("usr","pwd").GetData();
    

    好的,我已经在使用示例1中的方法进行大部分编码。因此,除了建议的VS参考之外,我不必对现有代码进行任何更改。那很有帮助,谢谢!