Azure Mobile Services C # gibt untergeordnete Entitäten nicht zurück

8

Ich treffe mit den neuen C # -basierten Azure Mobile Services wirklich eine Mauer und es ist auch ganz einfach :( Ich kann nicht für das Leben von mir die Abfrageoperation erhalten, um Kindeigenschaftswerte zurückzugeben. Ich habe das todo Element des Standardprojekts so geändert:

%Vor%

Und dann habe ich die TodoItemNumbers-Klasse wie folgt definiert:

%Vor%

Im TodoItemController habe ich die Abfrage-Methode wie folgt überschrieben

%Vor%

Nichts davon wird die Numbers-Eigenschaft zurückgeben, wenn ich eine Anfrage mit Fiddler mache. In einem Moment des Wahnsinns habe ich auch die Initialize-Methode des Controllers so modifiziert, dass sie folgendes enthält:

%Vor%

Beachten Sie, dass das Lazy Loading und die Proxy-Erstellung deaktiviert wurden. Weiß jemand, wie man dieses einfache Szenario schlägt? Ich fühle nicht die gute Stimmung auf diesem.

Aktualisieren Als ich unten antwortete, war ich in der Lage, den Dienst zu erhalten, um die Daten zurückzugeben, indem ich die $ expand zu der Abfrage hinzufüge. Nun aber bin ich wirklich darauf angewiesen, dass der Client diesen Parameter zur Anfrage hinzufügt. Es gibt immer nur die Basisdaten zurück.

%Vor%

gibt die untergeordneten Eigenschaften nicht zurück und es gibt keine Include-Option für den Ergebnistyp

    
Dylan 26.04.2014, 21:52
quelle

5 Antworten

2

Mein Fehler bestand nicht darin, den OData-Teil in die Gleichung einzubeziehen. Sobald ich gefragt habe

%Vor%

statt

%Vor%

Es erschien magisch. Wie bekomme ich das in der Client-API ...? Aktualisieren Ich habe es auf der Client-Seite mit diesem Code verwaltet

%Vor%

Aber es muss einen besseren Weg geben

    
Dylan 26.04.2014 22:23
quelle
2

Es ist auch möglich, dies zu erreichen, indem Sie einen Handler auf dem Client hinzufügen:

%Vor%

Verwendung:

%Vor%     
BrunoLM 07.09.2015 04:32
quelle
1

Anstatt die Methode Query zu überschreiben, muss die Methode GetAllTodoItems wie folgt aussehen:

%Vor%

Dies ist eine Alternative zum $expand hack. Ich habe es entdeckt, als ich die Apps von Azure App Service für mich selbst erkundete. Die Verknüpfung mit einem Include -Aufruf allein, wie Sie es ursprünglich versucht haben, würde für mich mehr Sinn ergeben, wenn es funktioniert. Als nächstes möchte ich herausfinden, warum das nicht funktioniert.

    
HappyNomad 05.05.2016 04:11
quelle
0

Ich dachte, es war .Include (x = & gt; x.Numbers) nach dem getable

    
Rolfvm 27.04.2014 10:27
quelle
0

Ich hatte das gleiche Problem & amp; Verwenden von Expand hat geholfen. Dann schlug ein @carlosfigueira eine bessere Möglichkeit vor, dieses Szenario hier zu handhaben.

Wie laden wir verwandte Objekte (Eager Loading) in Dot Net basierten Azure Mobile Service?

Bitte sehen Sie nach. Bisher der beste Ansatz, um dieses Problem anzugehen. Supreet

    
Supreet 30.04.2014 13:13
quelle