エンティティ フレームワークを使用してデータベースを asp.net アプリケーションに接続しています。ここに、Foreign key table
2 つの列を持つ がありますStaffId and SectionId
。これStaffId
がStaff
テーブルSectionId
の主キーであり、テーブルの主キーですSections
。このテーブルには次のような値があります
StaffId SectionId
------- ---------
1 1
2 5
5 8
1 5
1 8
ここで を知ってStaffId
おり、この対応するスタッフ ID のすべてを取得する必要がありますSectionIds
(例: ここではスタッフ 1 の 1、5、および 8)。
メソッドで詳細を知りたい場合はFirst
、既知の StaffId を使用して、
DataObject.Entities dataEntities=new DataObject.Entities();
DataObject.Section section = dataEntities.Sections.First(s=>s.Staffs
.Select(ss=>ss.StaffId).Contains(staffId));
first section
これで、 . と一致するに関する情報を取得できStaffId
ます (例: sectionid=1 に関する情報はこちら)
同じように、特定の staffId のすべての sectionId を取得しようとしました。
List<int> sectionIds = dataEntities.Sections.Where(s => s.Staffs.Where
(ss => ss.StaffId == staffId)).Select(sec=>sec.SectionId);
しかし、うまくいきません。誰か助けてください