Вот настройки БД 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:
так, например, я должен получить это список con тентовые участки для 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 из области на TemplateArea.TemplateId = templateId или что-то в этом роде, если это был T-SQL, например. Что-то вроде:
выберите Areaid, имя из Района присоединиться TemplateArea на Area.AreaId = TemplateArea.AreaId где TemplateArea.TemplateId = templateId
, поэтому ваш запрос возвращает список областей, основанных на соединении с TemplateAreas, где TemplateAreas.TemplateId = 2? – PositiveGuy
@CoffeeAddict Да, набор результатов в этом случае будет содержать только область 1 и 2 – tawman
Да, спасибо, я вижу сейчас. A => a.AreaId, t => t.AreaId действительно является ключом включения ON в основном, поскольку t представляет мой список шаблонов.. Благодаря.! –
PositiveGuy