我在使用具有多个连接的 LINQ 方法调用时遇到问题。我正在尝试做这样的事情:
if (!isDepSelect)
{
query = (from Items in db.DEPARTMENTs
select Items);
}
else
{
query = (from Items in db.DEPARTMENTs
from gDept in db.DEPT_PROFILE
from wAccess in db.WEB_ACCESS
where Items.DEPT_CODE == gDept.DEPT_CODE && gDept.USER_ID == wAccess.USER_ID && wAccess.EMP_ID == id
select Items);
}
我这样做了:
IQueryable<DEPARTMENT> query = db.DEPARTMENTs;
if (isDepSelect)
{
query = query.Join(db.DEPT_PROFILE,depts => depts.DEPT_CODE,prof => prof.DEPT_CODE,(depts, prof) => depts);
}
但是现在我不知道如何将DEPT_PROFILE表的JOIN与WEB_ACCESS表以及EMP_ID = id的条件相加。
我这样做的原因是 isDepSelect 布尔值不是此查询将更改其关系的唯一条件,我需要以某种方式添加此关系,而无需为每个条件重复我的 LINQ。
感谢您的时间。