Linq:检查字符串列是否有值(即。不为null或为空)

时间:2012-07-31 20:08:10

标签: vb.net linq dynamics-crm-2011

不确定这是否是在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)

但我不确定这是否是最有效的方法......它看起来并不优雅。有没有更简洁的方法来检查字符串列是否有值?

2 个答案:

答案 0 :(得分:4)

正如所说here Linq对CRM非常有限。这就是你不能使用String.IsNullOrEmpty。

的原因

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

Where c.EMailAddress1 IsNot Nothing

当一个字段为空时,它在数据库中设置为null(从不为空)。这条线应足以满足您的需求。

此致

凯文

答案 1 :(得分:2)

只是这样做:

Where c.EmailAddress <> ""