var result = table1.Join(table2, o => o.ProgramID, t => t.ProgramID, (o, t) => new { o.ProgramID, t.Program })
.OrderBy(t => t.Program)
.Distinct();
la declaración de LINQ anteriormente realidad devuelve el resultado correcto, pero SQL generado (abajo) no es tan simple como podría serLINQ to SQL distintas y orderBy
SELECT [t2].[ProgramID], [t2].[Program]
FROM (
SELECT DISTINCT [t0].[ProgramID], [t1].[Program]
FROM [table1] AS [t0]
INNER JOIN [table2] AS [t1] ON [t0].[ProgramID] = [t1].[ProgramID]
) AS [t2]
ORDER BY [t2].[Program]
yo habría pensado que el sql a continuación es mucho más limpio, pero no estoy seguro de la declaración de linq para lograrlo.
select distinct
o.ProgramID,
t.Program
from
table1 0
inner join table2 t on t.ProgramID = o.ProgramID
order by t.Program
Gracias de antemano
¿Ha intentado jugar con el orden de las invocaciones de métodos? Es decir. swap orderby y distinto? – marr75
Impresionante, los intercambió y trabajó un lujo. – Ian
nuevo sql se ve como SELECCIONE DISTINCT [t0]. [IdProg], [t1]. [Programa] DESDE [tbl_Batch] AS [t0] UNIÓN INICIAL [tbl_Program] AS [t1] ENCENDIDO [t0]. [Id. De programa] = [t1]. [ProgramID] – Ian