LINQ查询二“;OR”;不起作用
本文关键字:OR 不起作用 查询 LINQ | 更新日期: 2023-09-27 18:21:32
我正试图从ActiveDirectory
中选择数据,但我的LINQ查询不起作用。
DataServiceReference.Service1Client newService = new DataServiceReference.Service1Client();
var query = from data in newService.GetAccounts()
where (data.SamAccountName.Contains(txtSearchBox.Text)
|| data.GivenName.Contains(txtSearchBox.Text)
|| data.EmailAddress.Contains(txtSearchBox.Text)) //2nd OR
select new { GivenName = data.SamAccountName, ID = data.ID };
repSearchResult.DataSource = query;
repSearchResult.DataBind();
当我尝试添加第二个||
时,查询不起作用
The value for column 'EmailAddress' in table 'ActiveDirectory2' is DBNull.
但上面有数据。
|| (data.EmailAddress == null ||
data.EmailAddress.Any(em=> em.Contains(txtSearchBox.Text)))) //2nd OR
如果EmailAddress
是一个集合,您应该检查它是否包含任何LIKE %searchText%
元素
若集合可以为null,那个么您可以在查询之前添加一个条件,但若它是针对数据库运行的,那个么应该没问题。