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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將where條件的lambda表達(dá)式 轉(zhuǎn)成 sql where語(yǔ)句?

如何將where條件的lambda表達(dá)式 轉(zhuǎn)成 sql where語(yǔ)句?

富國(guó)滬深 2018-12-05 14:08:14
List<User> GetAll();目的是構(gòu)造這樣的一個(gè)方法 List<User> GetAll(predicate);如果 GetAll()。Where(p=>p.Name=="aaa") 是在查詢完全集后再賽選的,效率很低。怎么能把  p=>p.Name=="aaa"  轉(zhuǎn)成  name='aaa'就像linq to sql那樣 , 但是脫離linq to sql做底層,有什么好方法把lambda表達(dá)式翻譯成條件語(yǔ)句,拼sql方式執(zhí)行
查看完整描述

2 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

你好,

dudu大哥回復(fù)的確實(shí)可以.但是要注意DbContext在退出上下文后的SqlConnection被關(guān)閉的這個(gè)問(wèn)題

而我一般的做法是

var result = new List<T>();

using (DbContext db = new DbContext()) {
  
  var queryable = db.xx.AsQueryable();
  
  if (查詢的變量有值) {
    queryable = queryable.Where(m => m.字段 == 查詢值)
  }
  
  //重復(fù)上面的代碼
  
  result = queryable.ToList();
}

return result;

以上偽代碼未通過(guò)測(cè)試,請(qǐng)根據(jù)IDE提示進(jìn)行修改一下就可以了


查看完整回答
反對(duì) 回復(fù) 2018-12-09
  • 2 回答
  • 0 關(guān)注
  • 632 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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