ObjectQuery<T>.Distinct Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beschränkt die Abfrage auf eindeutige Ergebnisse.
public:
System::Data::Objects::ObjectQuery<T> ^ Distinct();
public System.Data.Objects.ObjectQuery<T> Distinct();
member this.Distinct : unit -> System.Data.Objects.ObjectQuery<'T>
Public Function Distinct () As ObjectQuery(Of T)
Gibt zurück
Eine neue ObjectQuery<T> Instanz, die der ursprünglichen Instanz entspricht, auf die SELECT DISTINCT angewendet wurde.
Beispiele
In diesem Beispiel wird eine Methode zum Erstellen eines neuen ObjectQuery<T> Objekts verwendetUnionAll. Anschließend wird das neue ObjectQuery<T> Objekt aufgerufenDistinct, um die eindeutigen Ergebnisse dieser Abfrage abzurufen.
int productID = 100;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
string queryString =
@"SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.ProductID < @productID";
ObjectQuery<Product> productQuery =
new ObjectQuery<Product>(queryString,
context, MergeOption.NoTracking);
ObjectQuery<Product> productQuery2 =
new ObjectQuery<Product>(queryString,
context, MergeOption.NoTracking);
ObjectQuery<Product> productQuery3 =
productQuery.UnionAll(productQuery2);
productQuery3.Parameters.Add(new ObjectParameter("productID", productID));
Console.WriteLine("Result of UnionAll");
Console.WriteLine("------------------");
// Iterate through the collection of Product items,
// after the UnionAll method was called on two queries.
foreach (Product result in productQuery3)
{
Console.WriteLine("Product Name: {0}", result.ProductID);
}
ObjectQuery<Product> productQuery4 = productQuery3.Distinct();
Console.WriteLine("\nResult of Distinct");
Console.WriteLine("------------------");
// Iterate through the collection of Product items.
// after the Distinct method was called on a query.
foreach (Product result in productQuery4)
Console.WriteLine("Product Name: {0}", result.ProductID);
}
Hinweise
Diese Abfrage-Generator-Methode gibt eine ObjectQuery<T> Instanz zurück, die der ursprünglichen Abfrage entspricht, auf die SELECT DISTINCT angewendet wurde.
Der DISTINCT Operator kann nicht auf ein Objekt angewendet werden, das eine Zuordnung zu einer nicht vergleichbaren Spalte in der Datenquelle (z. B. ntext) enthält.