2012-06-06 3 views
1

Я использую инфраструктуру 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 для этого соответствующего staffid (например, 1,5 и 8 для персонала 1 здесь).

Если я хочу знать детали с 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 здесь)

Таким же образом я пытался получить все sectionIds для конкретного staffId как,

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

, но он не работает, может кто-нибудь помочь мне здесь

ответ

1

здесь Я знаю StaffId, и мне нужно, чтобы получить все SectionIds для этого соответствующих staffid

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

Большого спасибо Slauma, я был пробираясь сюда с прошлого вечера, так что вроде – shanish