2007-09-08

Distinct

Der Distinct-Operator unterdrückt die Duplikate im Resultat. Wenn in unterschiedlichen Datensätzen alle Felder gleichen Wert beinhalten, wird aus mehreren Datensätzen nur ein Datensatz zurückgegeben.

Query Expression-Anweisung mit Distinct
In der folgenden Anweisung wird er Distinct-Operator verwendet. Die Duplikaten der City-Werten werden dadurch unterdrück und sie werden nicht mehr als Resultat zurückgegeben.

var distinctAddresses = (from pa in _db.Addresses
select new { pa.City })
.Distinct()
.OrderBy(pa => pa.City);

SQL-Anweisung mit Distinct
Die folgende SQL-Anweisung wird als Übersetzung der obigen Query Expression-Anweisung generiert.

SELECT [t1].[City]
FROM (
SELECT DISTINCT [t0].[City]
FROM [Person].[Address] AS [t0]
) AS [t1]
ORDER BY [t1].[City]
-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.20706.1

No comments: