Службы данных SQL - запрос для нуля
(Это относится к SitkaSoapService от Microsoft, в справочнике услуг по адресу https://database.windows.net/soap/v1/)
Я использую SitkaSoapServiceClient для доступа к моей базе данных служб данных SQL с помощью SOAP.
Я могу запрашивать данные, передавая оператор linq в строку, например:
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");
Однако я не могу понять, как запросить нулевое значение свойства (то есть найти объекты без этого свойства).
Я ожидаю, что смогу сказать:
return proxy.Query(scope, "from e in entities where e[\"FirstName\"] == null select e");
... но это бросает FaultException<>
, говоря: "Нулевое имя не может быть найдено"
Есть идеи?
2 ответа
Вы можете проверить для не нуль, как это:
where e["FirstName"] >= ""
поэтому нулевая проверка становится:
where !(e["FirstName"] >= "")
Немного противно, но это работает. Может быть, есть лучший способ, но я не могу его найти...
Я не знаком с сервисом, который вы пробуете, но T-SQL хотел бы что-то вроде:
return proxy.Query(scope, "from e in entities where e[\"FirstName\"] IS null select e");