と同等のものを策定することはできませんすべての可能なマシン上で指定した期間で動作するように計画されているすべての労働者のレコードがあります。LINQの問題が含まれています:テーブルReservationWorkerPeriodsで「WHERE IN」とクエリ
追加のテーブルWorkerOnMachineOnConstructionSiteは列workerId、MachineIdとConstructionSiteIdが含まれています。私が選択したマシン上で動作するだけの労働者を取得したいテーブルReservationWorkerPeriodsから
。これらのレコードは、アプリケーションで使用されている
var relevantWorkerOnMachineOnConstructionSite = (from cswm in currentConstructionSiteSchedule.ContrustionSiteWorkerOnMachine
where cswm.MachineId == machineId
select cswm).ToList();
workerOnMachineOnConstructionSite = relevantWorkerOnMachineOnConstructionSite as List<ContrustionSiteWorkerOnMachine>;
ので、私の場合も、上記のコードをバイパスする必要はありません:私は、次のコードを書かれているWorkerOnMachineOnConstructionSiteテーブルからだけで、関連するレコードを取得するために
選択されたマシンで働く労働者のためのworkerPeriodsだけを直接取得することができます。とにかく、関連するworkerIDを知ってから関連するworkerPeriodsを取得する方法がわかっていません。
私は、次のコードを試してみました:
var userIDs = from w in workerOnMachineOnConstructionSite select new {w.WorkerId};
List<ReservationWorkerPeriods> workerPeriods = currentConstructionSiteSchedule.ReservationWorkerPeriods.ToList();
allocatedWorkers = workerPeriods.Where(wp => userIDs.Contains(wp.WorkerId));
をが、正しくないとし、それを修正する方法がわからないようです。だれかが問題であることを知っていますか、どのようにリストからユーザーIDを含むレコードを取得することが可能ですか?