迭代OData元数据

时间:2017-01-30 06:21:53

标签: c# odata metadata

如何迭代OData元数据?我需要迭代所有实体,它们的属性与类型,键和导航属性(所有可用的信息都是准确的),但是我被卡住了,因为SchemaElements返回内部类型的对象(Microsoft.OData.Edm.Csdl.CsdlSemantics.CsdlSemanticsEntityContainer)和我不能投他们来获取所有这些信息。

  

var metadata = await   _client.GetMetadataAsync();

     

foreach(metadata.SchemaElements中的var元素)

客户端以这种方式声明:

  

Simple.OData.Client.ODataClient _client;

2 个答案:

答案 0 :(得分:1)

安装https://marketplace.visualstudio.com/items?itemName=bingl.ODatav4ClientCodeGenerator后添加新项目,该文件的T4代码,迭代$元数据的几乎所有方面,为您生成c#odata代理,您可以使用这些代码找到自己的方式

答案 1 :(得分:1)

如果您可以使用https://www.nuget.org/packages/Microsoft.OData.Client/6.5.0(注意:此库仅适用于OData v4),对于v3,请使用https://www.nuget.org/packages/Microsoft.Data.OData/

ODataServiceDocument具有EntitySets属性。