У меня есть несколько таблиц, которые правильно связаны и отображаются через таблицы FK / link.
т.е.: link_table -> отношение «1 ко многим» к table_one и table_two -> отношение «многие ко многим» к table_three
var results = db.link_table.Where(l => l.table_one.RandomProperty == "value");
Очевидно, что вышесказанное работает, но я хочу иметь возможность сделать выбор следующим образом:
var results = db.link_table.Where(l => l.table_one.RandomProperty == "value" && l.table_two.table_three.RandomProperty == "anothervalue");
Это невозможно, потому что кажется невозможным получить доступ к свойствам, которые принадлежат table_three. SQL-запрос, который я хотел бы, должен выглядеть примерно так (часть WHERE является наиболее важной):
SELECT * FROM link_table
LEFT JOIN table_one ON table_one.assoc = link_table.assoc
LEFT JOIN table_two ON table_two.assoc = link_table.assoc
LEFT JOIN table_three ON table_two.assoc = table_three.assoc
WHERE table_one.RandomProperty = "value" AND table_three.RandomProperty = "AnotherValue"
Как бы я мог получить доступ к "RandomProperty" table_three через реляционное отображение Linq2Entities? Возможно ли это даже в одной строке кода и, таким образом, получить желаемый результат в одном автоматически сгенерированном SQL-запросе?