第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linq:有條件地向where子句添加條件

Linq:有條件地向where子句添加條件

慕田峪4524236 2019-09-02 09:05:19
我有這樣的查詢(from u in DataContext.Users       where u.Division == strUserDiv        && u.Age > 18       && u.Height > strHeightinFeet         select new DTO_UserMaster       {         Prop1 = u.Name,       }).ToList();我想根據(jù)是否將這些條件提供給運行此查詢的方法來添加各種條件,如年齡,高度。所有條件都包括用戶部門。如果提供了年齡,我想將其添加到查詢中。同樣,如果提供了高度,我也想添加它。如果要使用sql查詢完成,我會使用字符串構(gòu)建器將它們附加到主strSQL查詢。但是在Linq中,我只能想到使用IF條件,其中我將編寫相同的查詢?nèi)?,每個IF塊都有一個附加條件。有一個更好的方法嗎?謝謝你的時間..
查看完整描述

3 回答

?
慕仙森

TA貢獻1827條經(jīng)驗 獲得超8個贊

我通常使用方法鏈接,但有同樣的問題。這是我使用的擴展


public static IQueryable<T> ConditionalWhere<T>(

        this IQueryable<T> source, 

        Func<bool> condition,

        Expression<Func<T, bool>> predicate)

    {

        if (condition())

        {

            return source.Where(predicate);

        }


        return source;

    }

它有助于避免鏈斷裂。也同樣ConditionalOrderBy和ConditionalOrderByDescending是有益的。


查看完整回答
反對 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 1081 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號