我可以使用以下内容从$元数据文档生成IEdmModel
:
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();
}
有没有办法反过来?给定IEdmModel
生成元数据文档?
答案 0 :(得分:1)
是的,您可以使用odl writer从IEdmModel中编写元数据。 类ODataMessageWriter具有函数WriteMetadataDocument。假设您有IEdmModel模型,您可以使用以下代码将元数据写入消息。
using (var msgWriter = new ODataMessageWriter((IODataResponseMessage)message, writerSettings, model))
{
msgWriter.WriteMetadataDocument();
}