Comment sélectionner toutes les colonnes à partir des tables dans la jointure à l'aide de 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
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.* // ???
}
Merci
Pendant que vous ne pouvez pas les étendre aux colonnes, vous pouvez simplement renvoyer les entités. Par exemple:
select new { CTLJCRJOB, CTLRFDSTM }
Si vous en avez besoin, vous devrez écrire vous-même la cartographie, mais vous serez toujours très trivial.
Vous pouvez utiliser la clause dans, mais cela ne l'aplatisera pas pour vous.
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
Vous pouvez utiliser la clause into
, mais cela ne l'aplatisera pas pour vous.
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
de cette façon, nous ne pouvons obtenir que CTLJCRJOB
Résultat des colonnes, il n'y avait pas CTLRFDSTM
colonnes de table via mon test
Une autre torsion est
OutPutList = (from CTLJCRJOB in CTRL_RUN_JOBs
join CTLRFDSTM in CTRL_DATA_STREAMs
on CTLJCRJOB.DATA_STREAM_ID equals CTLRFDSTM.DATA_STREAM_ID
select CTLJCRJOB).ToList();