У меня есть следующая команда:
var query = from x in context.FirstTable.Include("SecondTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
Теперь я также хочу загрузить записи из третьей таблицы с именем «ThirdTable».
Но я могу ссылаться на него только через таблицу SecondTable. Существует внешний ключ от FirstTable до SecondTable и один от SecondTable до ThirdTable, но нет ни одного, от FirstTable до ThirdTable.
Использование следующего запроса было невозможно. Исключением было то, что он не может перейти от FirstTable к ThirdTable:
var query = from x in context.FirstTable.Include("SecondTable").Include("ThirdTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
Или мне нужно будет выполнить дополнительный запрос в ThirdTable для каждого набора результатов, который я получу от этого запроса?
Большое спасибо заранее!
Крейг Штунц:
У меня есть следующие внешние ключи: table1 <-> table2 <-> table3
скажем, таблицы следующие: заказы <-> клиенты <-> customer_preferences
Так что мне не нужно создавать внешний ключ от заказов до customer_preferences.
Это было бы ненужным большую часть времени. Как раз в этот раз я хочу сохранить некоторые дополнительные обходы базы данных.