What exactly is OData?

前端 未结 2 1911
星月不相逢
星月不相逢 2021-02-13 10:12

What exactly is OData and how important/necessary is it to start learning this new concept, wrt implementing data services?

Also why is the WCF Data Services documentati

相关标签:
2条回答
  • 2021-02-13 10:44

    To answer the second question first, OData (or the Open Data Protocol) is the evolution of Project Astoria/ADO.NET Data Services and is Microsoft's attempt to create an "open standard" for creating readable/writable data using REST. OData is the open protocol that ADO.NET/WCF Data Services uses to implement its functionality, and was directly created as a result of use in several Microsoft products, thus the tight connection.

    As for the WHAT, OData is, in essense, a set of extensions to the Atom Publishing Protocol that enable data representation, querying, alternate formatting (JSON), etc.

    Here are a couple of good resources to get you started:

    • OData is grease to cut data friction
    • Microsoft Proposes OData as de facto Web Data Protocol
    • OData – Getting Started
    0 讨论(0)
  • 2021-02-13 11:03

    You should probably just google around but Open Data Protocol is just a standard for querying/updating data. It defines a rest base standard for updating/retrieving data. There is a tight dependency between WCF Data Services because WCF DS are complient with the OData protocol. Without it Data Services wouldn't exist, and vice versa ;) OData is a child of MS.

    WCF Data Services provide you a quick and easy way to service client side queries using LINQ, Which is Microsoft's Integrated Query Language. Microsoft has made it very easy to stand up Data Services which provide you with a facade into the database.

    As for how much do you really need to know about OData? Unless you are going to be creating your own provider you dont need a very deep knowledge.

    If you want to start getting into the internals check out this "OData by Example" from MS. In order to understand the proper use of Data Services i would suggest you look at REST and LINQ.

    0 讨论(0)
提交回复
热议问题