Unterstützung von @ odata.bind in asp.net web api (Verknüpfung mit bestehender Entität während der Post)

9

Mir fällt es wirklich schwer, vom WCF-Datendienst auf Web-API v4 zu migrieren. Ich stecke auf dem folgenden Problem fest:

odata web api scheint @ odata.bind nicht zu unterstützen.

Ich habe den folgenden Link gefunden: Ссылка  Dort schlug jemand vor, eine eigene ODataEntityDeserializer abgeleitete Klasse wie folgt zu implementieren:

%Vor%

LinkedEntityCollection ist eine Basisklasse für meine Entitätsklassen, die als Wörterbuch dient ( MyEntity : LinkedEntityCollection implementation ist trivial).

%Vor%

Registrierung in der http-Konfiguration:

%Vor%

Wenn Sie jedoch diesen Hack verwenden, verlieren Sie die Fähigkeit, Links zwischen Enities zu erstellen, wie in diesem Artikel beschrieben: Ссылка

Die "@ odata.id" wird nicht analysiert, es wird angenommen, dass es sich um eine Entität in der Funktion ODataEntityDeserializer.Read handelt. Vielleicht vermisse ich etwas grundlegend hier, da ich ziemlich neu in Web-API bin ( config.Formatters.Clear() scheint ein bisschen hart). Oder gibt es eine andere Problemumgehung, um @ odata.bind zu unterstützen?

Gibt es eine Chance, dass diese Funktion in naher Zukunft implementiert wird?

Aktualisieren

Ich habe meinen Hack arbeiten lassen. Das Problem war, dass ich ExtendedODataDeserializerProvider von DefaultODataDeserializerProvider anstelle von ODataDeserializerProvider abgeleitet und die Deserializer entsprechend zurückgegeben haben sollte:

%Vor%

Also die Frage, die bleibt: wann bekommen wir @ odata.bind Unterstützung in asp.net webapi odata?

    
Jeldrik 16.06.2015, 15:30
quelle

1 Antwort

1

Versuche zu antworten

  

Also die Frage, die bleibt: wann bekommen wir @ odata.bind Unterstützung in asp.net webapi odata?

Im vnext-Repo scheint eine entsprechende Funktion zu bestehen. Das Problem ist jedoch als wenig belastend gekennzeichnet. Ссылка und daher gibt es keine Möglichkeit zu wissen, wann diese Funktion implementiert wird.

    
Magnus Karlsson 28.06.2015, 20:35
quelle

Tags und Links