この質問をする前に、user414076 から提供された StackOverflow でこの受け入れられた回答を実装しようとしましたが、残念ながらできませんでした..
だから私はどこが間違っているのか尋ねたい..効率的な「目標」のためにどのように進めるべきか..
私のwinforms .Net4プロジェクトで
私は2つのクラスを持っています:従業員とモッズ..と従業員のサブクラス:RM
Mods クラスには、政府の「労働許可」規則のようなデータが含まれます。 つまり、従業員が機械エンジニアの場合、機械研究所の 1 つで働く必要があり、最低給与が必要です。1 時間あたり "x" ドル - 研究が成功裏に終了した場合 - 研究成果の %1 を成功報酬として受け取る必要があります。
従業員クラスには多くのプロパティがあり、従業員のすべてのデータ (名前、 住所、 電話の リスト、年次休暇の リスト、病院の病気 に関する書類のリスト、Should_Attend_Seminars の リスト 、AcceptedWorkingRules のリスト など) を保持します。
RM サブクラスは、従業員の詳細を労働規則として保持します。 つまり 、 WorkingType - 時給、週給、月給、追加のコミッションがあるかどうかなどです。 - 、WorkingHours、 PermittanceID - Mods クラス ID 値への参照として - など..
私の目標は、すべての従業員の静的リストから、従業員の RM.PermittanceID が同じ従業員を個別のリストとして選択することです (個別のリストが不可能な場合は、リストにグループ化されます)。
つまり、RmPermittanceIdList_1 には、勤務形態が (3,6,9,12) で許可 ID が 1 の従業員が含まれます。
RmPerMittanceIdList_2 には、勤務している従業員が含まれます ( 3,6,9,129 許可 ID は 2 ....続きます
{後で使用するためにこれらのリストが必要です}
そして、私が試してエラーを起こしたこと{ The Name "em" does not exist in the current context } :
List<Employees> emps = from md in Program.modList
from em in Program.empList
from emo in em.RmList
where emo.EndDate > DateTime.Today
&& (emo.Worktype == 3 || emo.WorkType == 6
|| emo.WorkType == 9 || emo.WorkType == 12)
group o by emo.PermittanceID == md.ModId
into rm
select new { id = em.ID, r = rm.ToList() };
前もって感謝します..