2 回答

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));

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果您真的不關(guān)心查詢結(jié)果中的重復(fù)項(xiàng),您可以嘗試使用 UNION ALL,因?yàn)樗?UNION 快得多
- 2 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)