1

エンティティ フレームワークを使用してデータベースを asp.net アプリケーションに接続しています。ここに、Foreign key table2 つの列を持つ がありますStaffId and SectionId。これStaffIdStaffテーブル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);

しかし、うまくいきません。誰か助けてください

4

1 に答える 1

1

ここで私は StaffId を知っており、この対応する staffid のすべての SectionId を取得する必要があります

List<int> sectionIds = dataEntities.Sections
    .Where(se => se.Staffs.Any(st => st.StaffId == staffId))
    .Select(se => se.SectionId)
    .ToList();
于 2012-06-06T11:56:08.873 に答える