首頁 > 後端開發 > C++ > LINQ 的 `Contains()` 方法如何取代 `WHERE IN` 子句?

LINQ 的 `Contains()` 方法如何取代 `WHERE IN` 子句?

DDD
發布: 2025-01-06 17:53:43
原創
974 人瀏覽過

How Can LINQ's `Contains()` Method Replace a `WHERE IN` Clause?

LINQ 中的Where IN 子句

使用資料庫時,您可能會遇到需要使用 WHERE IN 子句基於多個條件過濾結果的情況。這可以使用 Contains() 方法在 LINQ(語言整合查詢)中輕鬆實現。

為了說明這一點,假設您要檢索屬於特定國家/地區代碼清單的所有州。您可以使用Contains() 方法簡化此流程,而不是像原始程式碼中那樣手動拆分國家/地區程式碼並循環它們:

public List<State> Wherein(string listofcountrycodes)
{
    string[] countrycode = null;
    countrycode = listofcountrycodes.Split(',');
    List<State> statelist = new List<State>();

    for (int i = 0; i < countrycode.Length; i++)
    {
        _states.AddRange(
             from states in _objdatasources.StateList()
             where states.CountryCode == countrycode[i].ToString()
             select new State
             {
                StateName  = states.StateName                    

             });
    }
    return _states;
}
登入後複製

您可以使用Contains() 方法來簡化此流程:

dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
登入後複製

此表達式會擷取其國家/地區代碼出現在countryCodes集合中的所有州。對於符合指定條件的每個州,lambda 表達式 (s => CountryCodes.Contains(s.CountryCode)) 的計算結果為 true,從而允許您相應地過濾結果。

以上是LINQ 的 `Contains()` 方法如何取代 `WHERE IN` 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板