如何迭代OData元数据?我需要迭代所有实体,它们的属性与类型,键和导航属性(所有可用的信息都是准确的),但是我被卡住了,因为SchemaElements返回内部类型的对象(Microsoft.OData.Edm.Csdl.CsdlSemantics.CsdlSemanticsEntityContainer)和我不能投他们来获取所有这些信息。
var metadata = await _client.GetMetadataAsync();
foreach(metadata.SchemaElements中的var元素)
客户端以这种方式声明:
Simple.OData.Client.ODataClient _client;
答案 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属性。