代码之家  ›  专栏  ›  技术社区  ›  Nestor

OData:从IEdmModel生成$metadata文档

  •  0
  • Nestor  · 技术社区  · 12 年前

    我可以生成 IEdmModel 从一个$metadata文档中获取如下内容:

    HttpWebRequest request = HttpWebRequest.CreateHttp("http://services.odata.org/v3/odata/OData.svc/$metadata");
    ClientHttpResponseMessage metadataMessage = new ClientHttpResponseMessage((HttpWebResponse)request.GetResponse());
    using (var messageReader = new ODataMessageReader(metadataMessage))
    {
        IEdmModel model = messageReader.ReadMetadataDocument();
    }
    

    有没有相反的方法?给定一个 IEdm模型 生成元数据文档?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Maya    12 年前

    是的,您可以使用odl-writer从IEdmModel写入元数据。 ODataMessageWriter类具有函数WriteMetadataDocument。假设您有IEdmModel模型,您可以使用以下代码将元数据写入消息。

    using (var msgWriter = new ODataMessageWriter((IODataResponseMessage)message, writerSettings, model))
    {
      msgWriter.WriteMetadataDocument();
    }