使用Entity框架将数据库与我的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的信息)
以同样的方式,我试图获得特定staffId的所有sectionId,例如
List<int> sectionIds = dataEntities.Sections.Where(s => s.Staffs.Where
(ss => ss.StaffId == staffId)).Select(sec=>sec.SectionId);
但它不起作用,任何人都可以帮助我
答案 0 :(得分:1)
在这里我知道StaffId,我需要获得所有的SectionIds 相应的工作人员
List<int> sectionIds = dataEntities.Sections
.Where(se => se.Staffs.Any(st => st.StaffId == staffId))
.Select(se => se.SectionId)
.ToList();