2012-06-06 122 views
1

正在使用Entity框架將數據庫連接到我的asp.net應用程序。這裏我有一個Foreign key table,它有兩列,StaffId and SectionId。這裏StaffIdStaff表的主鍵,SectionIdSections表的主鍵。我值這個表像從外鍵表中獲取值

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

這裏我知道了StaffId,我需要得到所有SectionIds此相應,STAFFID(員工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)); 

這個我可以瞭解,隨着StaffId匹配的first section的信息(例如:約sectionid = 1點擊這裏)

以同樣的方式我試圖讓所有的sectionIds特定像STAFFID信息,

List<int> sectionIds = dataEntities.Sections.Where(s => s.Staffs.Where 
         (ss => ss.StaffId == staffId)).Select(sec=>sec.SectionId); 

但它不工作,任何人都可以幫助我在這裏

回答

1

這裏我知道了,STAFFID,我需要得到相應的,STAFFID

List<int> sectionIds = dataEntities.Sections 
    .Where(se => se.Staffs.Any(st => st.StaffId == staffId)) 
    .Select(se => se.SectionId) 
    .ToList(); 
+0

非常感謝Slauma此 所有SectionIds,我一直自從昨天晚上到這裏來襲,這樣的你 – shanish