Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OData:如何将System.Uri转换为Edm.String?_Odata_Asp.net Core 3.0 - Fatal编程技术网

OData:如何将System.Uri转换为Edm.String?

OData:如何将System.Uri转换为Edm.String?,odata,asp.net-core-3.0,Odata,Asp.net Core 3.0,我正在使用ASPNetCore构建一个ODataWebAPI。EDM模型的构建方式如下所示 ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet<MyType>("MyType"); edmModel = builder.GetEdmModel(); 这将生成一个类似这样的模型 <Schema Namespace="Test" xmlns="http

我正在使用ASPNetCore构建一个ODataWebAPI。EDM模型的构建方式如下所示

ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<MyType>("MyType");
edmModel = builder.GetEdmModel();
这将生成一个类似这样的模型

<Schema Namespace="Test" xmlns="http://docs.oasis-open.org/odata/ns/edm">
  <EntityType Name="MyType">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Uri" Type="System.Uri" Nullable="false" />
  </EntityType>
</Schema>
<Schema Namespace="System" xmlns="http://docs.oasis-open.org/odata/ns/edm">
  <ComplexType Name="Uri">
    <Property Name="Segments" Type="Collection(Edm.String)" />
  </ComplexType>
</Schema>
那根本不是我想要的。 我如何让它以字符串形式返回完整的URI?
是否有一个属性需要添加到模型中,或者是否有方法以不同的方式配置生成器

你有没有偶然发现更多关于这件事的信息?没有,还没有。最后我用了字符串…我在OData存储库上打开了一个关于这个的问题。参考:你有没有偶然发现更多关于这个的信息?没有,还没有。最后我用了字符串…我在OData存储库上打开了一个关于这个的问题。供参考:
<Schema Namespace="Test" xmlns="http://docs.oasis-open.org/odata/ns/edm">
  <EntityType Name="MyType">
    <Key>
      <PropertyRef Name="Id" />
    </Key>
    <Property Name="Uri" Type="System.Uri" Nullable="false" />
  </EntityType>
</Schema>
<Schema Namespace="System" xmlns="http://docs.oasis-open.org/odata/ns/edm">
  <ComplexType Name="Uri">
    <Property Name="Segments" Type="Collection(Edm.String)" />
  </ComplexType>
</Schema>
{
  "@odata.context": "https://localhost:44389/v3/$metadata#MyType/$entity",
  "Id": "ID-1234",
  "Uri": {
    "Segments": [
      "/",
      "path/",
      "to/",
      "document"
    ]
  }
}