2009-02-26 6 views
0

(Dies bezieht sich auf Microsofts SitkaSoapService im Dienst Bezug auf https://database.windows.net/soap/v1/)SQL Data Services - Abfrage für null

Ich SitkaSoapServiceClient mit meinem SQL Data Services-Datenbank von SOAP zuzugreifen.

Ich kann Daten abfragen, indem Sie eine Linq-Anweisung in einem String übergeben, wie zB:

Scope scope = new Scope(); 
scope.AuthorityId = authorityId; 
scope.ContainerId = containerId; 

using (SitkaSoapServiceClient proxy = GetProxy()) 
    return proxy.Query(scope, "from e in entities where e[\"FirstName\"] == \"Bob\" select e"); 

Allerdings kann ich nicht herausfinden, wie für einen Null-Eigenschaftswert abzufragen (dh findet Einheiten ohne diese Eigenschaft).

Ich würde erwarten, dass sie sagen:

return proxy.Query(scope, "from e in entities where e[\"FirstName\"] == null select e"); 

... aber das wirft ein FaultException<>, sagen

Irgendwelche Ideen "Der Name 'null' konnte nicht gefunden werden"?

Antwort

1

Sie für nicht null wie folgt überprüfen:

where e["FirstName"] >= "" 

so die Null Scheck wird:

where !(e["FirstName"] >= "") 

Ein bisschen eklig, aber es funktioniert. Vielleicht gibt es einen besseren Weg, aber ich kann es nicht finden ...

-1

Ich bin nicht vertraut mit dem Service, den Sie versuchen, aber T-SQL würde wie etwas wollen:

return proxy.Query(scope, "from e in entities where e[\"FirstName\"] IS null select e"); 
+0

Ausgenommen der ganze Punkt von Linq ist in der Lage, SQL-Syntax zu vermeiden ... – dkretz

+0

Meh, es war einen Versuch wert. Funktioniert aber nicht ... – teedyay