Запрос объектов из справочной таблицы «многие ко многим» - PullRequest
0 голосов
/ 11 мая 2009

У меня есть Master1 и Sub1, а другой - Master1Sub1_Map, который содержит внешние ключи к объектам Master1 и Sub1. Есть несколько идентификаторов из Sub1, которые связаны с одним идентификатором в Master1.

Если я хочу просмотреть все Sub1 записи, которые назначены определенному Master1.ID, как мне поступить с объектами SubSonic? Я могу сделать это, используя SqlQuery и IN с вложенным выбором, но есть ли лучший способ, так как таблица карты использует внешние ключи? Было бы неплохо вернуть Sub1Collection.

Я вижу некоторые ссылки в TableSchema, но я не уверен, что будет делать то, что я ищу.

1 Ответ

2 голосов
/ 11 мая 2009
Sub1Collection subs = DB.Select().From<Sub1>()  
  .InnerJoin(Master1Sub1_Map)  
  .InnerJoin(Master1)  
  .Where(Master1.Columns.Id).IsEqualTo(1)  
  .ExecuteAsCollection<Sub1Collection>();  
...