Frage

Bei Verwendung des ADO.Net Data Services-Clients zum Aktualisieren einer Entität durch Aufrufen von LoadProperty:

ctx.BeginLoadProperty(this, "Owner", (IAsyncResult ar) => ...

Wenn die Eigenschaft vorhanden ist, wird ein Fehler auf dem Server ausgegeben null

Fehler:Ausnahme ausgelöst:System.Data.Services.DataServiceException:Für das Segment „Eigentümer“ wurde keine Ressource gefunden.unter System.data.services.RequestDescription.getSingleresultfromenumerable (SegmentInfo SegmentInfo) at system.data.services.dataservice1.comPareETAGandWriterePT (RequestDescription Beschreibung, ContentFormat ResponseFormat, idataservice DataService)
bei System.Data.Services.DataService1.SerializersponseBody (RequestDescription Beschreibung, idataService dataService) bei System.data.Services.DataService1.HandlenonBatchRequest (RequestDescription Beschreibung) bei System.data.Services.DataService.

Das Problem besteht darin, dass der Kunde nicht weiß, ob die Immobilie vorhanden ist null oder ist einfach noch nicht besiedelt.Der Eigentümer der Immobilie ist ein Link von a Vehicle zu einem Customer.

Irgendwelche Ideen, was los ist?

Danke

War es hilfreich?

Lösung

Beim Abfragen von Primärschlüsseln wird eine Ausnahme generiert, wenn der Schlüssel nicht vorhanden ist.Die Problemumgehung besteht darin, der Bedingung einen echten Dummy-Ausdruck hinzuzufügen (z. B.:1==1 && item.Id == XXX).

Ohne den Dummy-Ausdruck lautet die ADO.NET-Anfrage:

http://localhost//test.svc/Role(XXX)

Mit der Dummy-Bedingung lautet die Anfrage:

http://localhost//test.svc/Role()?$filter=true und (Id eq 1)

Das erwartete Verhalten (null zurückgegeben) ist im zweiten Fall korrekt.

Andere Tipps

IgnoreResourceNotFoundException Eigenschaft des Dienstkontext true:

svc.IgnoreResourceNotFoundException = true;

Ich habe auch eine „Ressource wurde nicht gefunden für Segment‚Property‘“ Fehler empfangen. Mine wird in der Where-Klausel sein, dass ich nach dem Primärschlüssel suchen. Ich habe einige Ressourcen gefunden, die es sagen, wird einen Fehler werfen (auch wenn FirstOrDefault mit ()), wenn ein Primärschlüssel, die nicht (im Gegensatz zu anderen entgegengesetzt, wo Klauseln, die nicht nur Ergebnisse liefern) nicht vorhanden ist. Ich würde vermuten, eine ähnliche Sache selbst geschieht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top