我正在使用实体框架将数据库与我的 asp.net 应用程序连接起来。在这里,我有一个Foreign key table
有两列的StaffId and SectionId
. 这里StaffId
是表的主键,是Staff
表SectionId
的主键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);
但它不起作用,任何人都可以在这里帮助我