複数の結合で 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 を繰り返さずに、何らかの方法でこの関係を追加する必要があります。
お時間をいただきありがとうございます。