ObjectQuery<T>.Intersect(ObjectQuery<T>) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Omezí výsledky dotazu tím, že zahrne jenom výsledky, které existují v jiném dotazu na objekt.
public:
System::Data::Objects::ObjectQuery<T> ^ Intersect(System::Data::Objects::ObjectQuery<T> ^ query);
public System.Data.Objects.ObjectQuery<T> Intersect (System.Data.Objects.ObjectQuery<T> query);
member this.Intersect : System.Data.Objects.ObjectQuery<'T> -> System.Data.Objects.ObjectQuery<'T>
Public Function Intersect (query As ObjectQuery(Of T)) As ObjectQuery(Of T)
Parametry
- query
- ObjectQuery<T>
Představuje ObjectQuery<T> výsledky, které se mají zahrnout do dotazu.
Návraty
Nová ObjectQuery<T> instance, která je ekvivalentní k původní instanci s použitým intersectem na základě zadaného query
objektu .
Výjimky
Parametr query
je null
nebo je prázdný řetězec.
Příklady
Tento příklad vytvoří nový ObjectQuery<T> objekt, který obsahuje výsledky dvou dalších dotazů.
int productID1 = 900;
int productID2 = 950;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
string queryString = @"SELECT VALUE product
FROM AdventureWorksEntities.Products
AS product WHERE product.ProductID > @productID1";
ObjectQuery<Product> productQuery =
new ObjectQuery<Product>(queryString,
context, MergeOption.NoTracking);
string queryString2 = @"SELECT VALUE product
FROM AdventureWorksEntities.Products
AS product WHERE product.ProductID > @productID2";
ObjectQuery<Product> productQuery2 =
new ObjectQuery<Product>(queryString2,
context, MergeOption.NoTracking);
ObjectQuery<Product> productQuery3 =
productQuery.Intersect(productQuery2);
productQuery3.Parameters.Add(new ObjectParameter("productID1", productID1));
productQuery3.Parameters.Add(new ObjectParameter("productID2", productID2));
Console.WriteLine("Result of Intersect");
Console.WriteLine("------------------");
// Iterate through the collection of Product items
// after the Intersect method was called.
foreach (Product result in productQuery3)
{
Console.WriteLine("Product Name: {0}", result.ProductID);
}
}
Poznámky
Zadaný, query
který definuje výsledky, které mají být zahrnuty, musí být stejného typu nebo typu, který je kompatibilní s ObjectQuery<T>.
Parametry, které jsou definovány v zadaném souboru query
, jsou sloučeny s parametry, které jsou definovány v ObjectQuery<T> instanci. Parametry musí být jedinečné v kombinovaném ObjectParameterCollectionparametru . V kombinované kolekci nemohou být dva parametry se stejným názvem. Další informace najdete v tématu Metody Tvůrce dotazů.
Výsledný dotaz zdědí připojení z ObjectQuery<T> instance, na které Intersect byla metoda volána.