0

完全な LINQ クエリを作成しました。ユーザーがマネージャー/チーム リーダーである場合は 1 つのクエリを実行し、そうでない場合は別のクエリを実行する必要があります。ただし、クエリは非常に似ています。

マネージャー/チームリーダーはすべてを見ることができます。他の人は、自分が認定されているものしか見ません。

var model = (from d in department
                join f in db.IPACS_Function on d.departmentID equals f.departmentID
                join pg in db.IPACS_Process on f.functionID equals pg.functionID
                join sop in db.IPACS_Procedure on pg.processID equals sop.processID
                // Non-Manager/Teamlead portion
                join cert in db.IPACS_Certification on sop.procedureID equals cert.procedureID
                join procdoc in db.IPACS_ProcedureDocs on sop.procedureID equals procdoc.procedureID
                join doc in db.IPACS_Document on procdoc.documentID equals doc.documentID
                where cert.adUserName == currUser && cert.certifiedDate > doc.dateApproved
                // End non-manager/team lead
                select new IPACS_DT_MasterList
                {
                    departmentID = d.departmentID,
                    functionID = f.functionID,
                    processID = pg.processID,
                    procedureID = sop.procedureID,
                    departmentName = d.name,
                    functionName = f.name,
                    processName = pg.name,
                    procedureName = sop.name,
                    owner = sop.owner,
                    automated = (bool)sop.automated
                });

var model =2つの別々のステートメントを作成せずに、上記でやろうとしていることは可能ですか?

4

1 に答える 1