У меня есть основная таблица, которая имеет общую информацию из двух таблиц. Также у меня есть две таблицы, которые имеют конкретную информацию каждого типа. Наконец, у меня есть последняя таблица, которая имеет отношение к любой из этих двух вторичных таблиц. Возможно, что эта последняя таблица имеет отношение к одной или обеим вторичным таблицам.Как сделать союз или «или» в этом случае?
Модель:
- MainTable (IDMainTable, имя ...)
- Secondary01 (IDSecondary01, IDMaintable, имя ....)
- Secondary02 (IDSecondary02, IDMainTable Имя ... .)
- данных (IDData, имя ...)
- DataRelationship (IDData, IDSecondary01, IDSecondary02)
Я хотел бы получить все регистры в основной таблице, которые любая из вторичных таблиц имеет отношение к данным. У меня IDData как условие.
В SQL это было бы что-то подобное:
select * from Maintable, Secondary01, DataRelationship
where MainTable.IDMainTable = Secondary01.IDMainTable
and Secondary01.IDSecondary01 = DataRelationship.IDSecondary01
and DataRelationship.IDData = 1234
UNION
select * from Maintable, Secondary02, DataRelationship
where MainTable.IDMainTable = Secondary02.IDMainTable
and Secondary02.IDSecondary02 = DataRelationship.IDSecondary02
and DataRelationship.IDData = 1234
Как я могу сделать этот запрос с расширенными методами или LINQ юридических лиц?
Спасибо.
и таким образом сделать один или два запроса к базе данных? Я хотел бы получить доступ к базе данных один раз. –
@ ÁlvaroGarcía, не перебирайте запрос, просто формируйте свой запрос с помощью 'Union', и, итерации, он должен перейти в базу данных один раз. – Habib
@ ÁlvaroGarcía, просто добавил фрагмент кода, чтобы изобразить то, что я имел в виду. – Habib