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

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

如何使用聯(lián)合使 LINQ 查詢更高效

如何使用聯(lián)合使 LINQ 查詢更高效

C#
紅顏莎娜 2022-12-31 13:35:34
我繼承了下面的LINQ查詢,感覺可以重構(gòu)查詢來提高效率。該查詢目前需要大約 6-8 秒的處理時(shí)間才能在應(yīng)用程序的前端向用戶返回一條記錄。LINQ 不是我的強(qiáng)項(xiàng),所以任何幫助將不勝感激。查詢最終應(yīng)該生成一個(gè)不同的 CA_TASK_VW 對象列表,這些對象與從 CA_OBJECT、CA_PEOPLE 和 CA_CONTRACTOR 表中獲得的不同 CA_OBJECT_ID 的列表相關(guān)聯(lián)。var data = (from a in _db.CA_TASK_VW                    where a.TASK_TYPE == "INSPECTION" && a.TASK_AVAILABLE_FLAG == "Y" && a.TARGET_END_DATE == null                    select a).AsQueryable();data = data.Join(_db.CA_OBJECT.Where(o => o.ENTERED_BY == _userId),                o => o.CA_OBJECT_ID, p => p.CA_OBJECT_ID,                (t, p) => t)            .Union(data.Join(_db.CA_PEOPLE.Where(p => p.EMAIL == _email),                t => t.CA_OBJECT_ID, p => p.CA_OBJECT_ID,                (t, p) => t))            .Union(data.Join(_db.CA_CONTRACTOR.Where(c => c.CONTRACTOR.EMAIL == _email),                t => t.CA_OBJECT_ID, c => c.CA_OBJECT_ID,                (t, c) => t));
查看完整描述

2 回答

?
慕桂英4014372

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

代碼好像是用Join/Union來執(zhí)行基本的 where 列表上的一個(gè) where 謂詞,一CA_TASK_VW步步過濾到最后的結(jié)果,那么直接指定 where 條件會怎么樣呢?


var data = from a in _db.CA_TASK_VW

           where a.TASK_TYPE == "INSPECTION" && a.TASK_AVAILABLE_FLAG == "Y" && a.TARGET_END_DATE == null

           select a;


data = data.Where(t => _db.CA_OBJECT.Where(o => o.ENTERED_BY == _userId).Select(o => o.CA_OBJECT_ID).Contains(t.CA_OBJECT_ID) ||

                       _db.CA_PEOPLE.Where(p => p.EMAIL == _email).Select(p => p.CA_OBJECT_ID).Contains(t.CA_OBJECT_ID) ||

                       _db.CA_CONTRACTOR.Where(c => c.CONTRACTOR.EMAIL == _email).Select(c => c.CA_OBJECT_ID).Contains(t.CA_OBJECT_ID));



查看完整回答
反對 回復(fù) 2022-12-31
?
吃雞游戲

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

如果您真的不關(guān)心查詢結(jié)果中的重復(fù)項(xiàng),您可以嘗試使用 UNION ALL,因?yàn)樗?UNION 快得多



查看完整回答
反對 回復(fù) 2022-12-31
  • 2 回答
  • 0 關(guān)注
  • 106 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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