如何使用linq从连接中的表中选择所有列
SQL:
select CTRL_RUN_JOB.*, CTRL_DATA_STREAM.*
from CTRL_RUN_JOB inner join CTRL_DATA_STREAM
on CTRL_RUN_JOB.DATA_STREAM_ID= CTRL_DATA_STREAM.DATA_STREAM_ID
Run Code Online (Sandbox Code Playgroud)
LINQ:
from CTLJCRJOB in CTRL_RUN_JOBs
join CTLRFDSTM in CTRL_DATA_STREAMs
on CTLJCRJOB.DATA_STREAM_ID equals CTLRFDSTM.DATA_STREAM_ID
select new {
CTLJCRJOB.* // ???
,CTLRFDSTM.* // ???
}
Run Code Online (Sandbox Code Playgroud)
谢谢
lep*_*pie 40
虽然您无法将它们扩展为列,但您只需返回实体即可.例如:
select new { CTLJCRJOB, CTLRFDSTM }
Run Code Online (Sandbox Code Playgroud)
如果你需要它变平,那么你必须自己写出映射,但仍然是非常微不足道的.
你可以使用into子句,但它不会为你扁平化.
from CTLJCRJOB in CTRL_RUN_JOBs
join CTLRFDSTM in CTRL_DATA_STREAMs
on CTLJCRJOB.DATA_STREAM_ID equals CTLRFDSTM.DATA_STREAM_ID into ALLCOLUMNS
from entry in ALLCOLUMNS
select entry
Run Code Online (Sandbox Code Playgroud)