Es gibt viele Unterschiede zwischen den beiden Versionen. OData v3 fügt beispielsweise Unterstützung für Aktionen, Funktionen, Auflistungswerte, Navigationseigenschaften für abgeleitete Typen und Streameigenschaften hinzu. Es führt auch ein komplett neues Serialisierungsformat für JSON ein ("application/json" bedeutet in beiden Versionen völlig unterschiedliche Dinge).
Wenn ein OData-Client eine Anforderung an einen Server sendet, kann (und sollte) er die maximale Protokollversion angeben, die er über den HTTP-Header MaxDataServiceVersion verstehen kann. Ein Client, der so geschrieben wurde, dass er nur v2 des Protokolls versteht, ist nicht in der Lage, eine v3-Nutzlast zu verstehen.
Ich glaube nicht, dass ich v2 "Legacy" nennen würde oder nicht unterstützt, aber einzelne Server können wählen, ob sie Anfragen unterstützen, die nur bis zu v2 (oder v1) verstehen. Ich denke, dass viele bestehende Kunden da draußen sowohl v2 als auch v3 unterstützen. Ich weiß, dass die WCF Data Services-Clients (Desktop, Windows Phone, Windows Store und Silverlight) beide unterstützen.
danke! Es war ziemlich schwierig, die Unterschiede zur verfügbaren Dokumentation zu verstehen. –