OData:如何将System.Uri转换为Edm.String?
我正在使用ASPNetCore构建一个ODataWebAPI。EDM模型的构建方式如下所示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
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"
]
}
}