Вот настройка БД из 3 таблиц:
Template
-----------
TemplateId (Pk Identity)
Name
Example Data:
TemplateId Name
1 Homepage
2 Generic Landing Page
TemplateArea (Bridge table to keep track of each template type's list of areas)
----------------
TemplateAreaId (Pk Identity)
TemplateId (Fk)
AreaId (Fk)
Example Data:
TemplateAreaId TemplateId AreaId
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
Таким образом, каждый шаблон имеет 3 области (вы видите набор templateIds (например, 2) и связанный набор AreaIds (1 & 2))
Area
-----
AreaId (Pk Name)
Name
Example Data:
AreaId Name
1 Top
2 Middle
3 Bottom
Я пытаюсь получить список областей на основе списка TemplateAreas, включенного по AreaId в моем списке TemplateAreas:
, поэтому, например, я должен получить этот списокобласти содержимого для TemplateId 2:
AreaId Name
1 Top
2 Middle
int templateId = 2;
List<TemplateArea> templateAreas = TemplateAreas.Where(ta => ta.TemplateId == templateId).ToList();
List<Area> areas = Areas.Where()); // this is where I'm stuck, how to get the list of areas (1 & 2) relatd to templateId 2
, другими словами, получите список областей шаблонов, а затем список связанных областей, связанных с конкретным шаблоном TemplateId.
Я в основном пытаюсь присоединиться к TemplateArea из Area на TemplateArea.TemplateId = templateId или что-то в этом роде, если это был T-SQL, например что-то вроде:
выберите AreaId, Имя из областиприсоединиться к TemplateArea в Area.AreaId = TemplateArea.AreaId, где TemplateArea.TemplateId = templateId