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
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
Anstatt die Methode Query
zu überschreiben, muss die Methode GetAllTodoItems
wie folgt aussehen:
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.
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
Tags und Links azure c# odata azure-mobile-services