簡體   English   中英

LINQ查詢兩個“或”不起作用

[英]LINQ Query two “OR” Not Working

我正在嘗試從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,則可以在查詢之前添加一個條件,盡管如果針對數據庫運行該條件應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM