0

(这与 Microsoft 的 SitkaSoapService 有关,在https://database.windows.net/soap/v1/的服务参考中)

我正在使用 SitkaSoapServiceClient 通过 SOAP 访问我的 SQL 数据服务数据库。

我可以通过在字符串中传递 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<>,说“找不到名称'null'”

有任何想法吗?

4

2 回答 2

1

您可以像这样检查 not null :

where e["FirstName"] >= ""

所以空检查变为:

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

有点讨厌,但它有效。也许有更好的方法,但我找不到......

于 2009-09-11T12:57:32.297 回答
-1

我不熟悉您正在尝试的服务,但 T-SQL 需要类似的东西:

return proxy.Query(scope, "from e in entities where e[\"FirstName\"] IS null select e");
于 2009-02-26T22:33:13.263 回答