0
我有一個擁有兩個表的公共信息的主表。另外我有兩個表格,每個表格都有特定的信息。最後,我有一張最後一張與這兩張副桌有關的桌子。可能的是,這個最後一個表與這個輔助表中的一個或兩個有關。如何在這種情況下做一個工會或「或」?
的模型是:
- 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