var result = table1.Join(table2, o => o.ProgramID, t => t.ProgramID, (o, t) => new { o.ProgramID, t.Program })
.OrderBy(t => t.Program)
.Distinct();
la déclaration LINQ ci-dessus renvoie en fait le résultat correct, mais il sql généré (ci-dessous) n'est pas aussi simple que cela pourrait êtreLINQ to SQL Distinct et 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]
j'aurais pensé que le sql ci-dessous est beaucoup plus propre mais je ne suis pas sûr de la déclaration linq pour y parvenir.
select distinct
o.ProgramID,
t.Program
from
table1 0
inner join table2 t on t.ProgramID = o.ProgramID
order by t.Program
Merci à l'avance
Avez-vous essayé de jouer avec l'ordre des invocations de méthodes? C'est à dire. swap orderby et distinct? – marr75
Génial, les échangés et a travaillé un régal. – Ian
new sql ressemble à SELECT DISTINCT [t0]. [ID_programme], [t1]. [Programme] FROM [tbl_Batch] AS [t0] INNER JOIN [tbl_Program] AS [t1] ON [t0]. [ID_programme] = [t1]. [ProgramID] – Ian