ObjectQuery<T>.Distinct Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee beperkt u de query tot unieke resultaten.
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)
Retouren
Een nieuw ObjectQuery<T> exemplaar dat gelijk is aan het oorspronkelijke exemplaar waarop SELECT DISTINCT is toegepast.
Voorbeelden
In dit voorbeeld wordt een methode gebruikt UnionAll om een nieuw ObjectQuery<T> object te maken. Vervolgens wordt het nieuwe ObjectQuery<T> object aangeroepen Distinct om de unieke resultaten van deze query op te halen.
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);
}
Opmerkingen
Deze opbouwmethode voor query's retourneert een ObjectQuery<T> exemplaar dat gelijk is aan de oorspronkelijke query waarop SELECT DISTINCT is toegepast.
De DISTINCT operator kan niet worden toegepast op een object dat een toewijzing bevat aan een niet-vergelijkbare kolom in de gegevensbron (zoals ntext).