1

我正在使用实体框架将数据库与我的 asp.net 应用程序连接起来。在这里,我有一个Foreign key table有两列的StaffId and SectionId. 这里StaffId是表的主键,是StaffSectionId的主键Sections。我在此表中有值,例如

StaffId     SectionId
-------     ---------
  1            1
  2            5
  5            8
  1            5
  1            8

在这里我知道StaffId并且我需要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 的信息在这里)

以同样的方式,我试图获取特定人员的所有 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 回答