6

不确定这是否是在 Linq 中实现这一目标的最佳方式。

我正在尝试选择 CRM 2011 中的联系人记录,其中 EMailAddress1 包含一个值。我尝试的以下 WHERE 子句都导致了异常:

Where c.EMailAddress1 > ""

Where Not String.IsNullOrEmpty(c.EMailAddress1)

所以我最终尝试了这个,这似乎工作正常:

Where Not c.EMailAddress1.Equals(String.Empty) _
And Not c.EMailAddress1.Equals(Nothing)

但我只是不确定这是否是最有效的方法.. 它似乎不是很优雅。有没有一种更简洁的方法来检查字符串列是否有值?

4

2 回答 2

5

正如这里所说, Linq to CRM 真的很有限。这就是你不能使用 String.IsNullOrEmpty 的原因。

但是,您应该尝试这样做:

Where c.EMailAddress1 IsNot Nothing

当一个字段为空时,它在数据库中被设置为空(从不为空)。那么这条线应该足够你的情况了。

问候,

凯文

于 2012-08-02T08:54:16.033 回答
2

做就是了 :

Where c.EmailAddress <> ""
于 2012-07-31T20:12:45.883 回答