ObjectQuery<T> Konstruktory

Definice

Inicializuje novou instanci ObjectQuery<T> třídy .

Přetížení

ObjectQuery<T>(String, ObjectContext)

Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu.

ObjectQuery<T>(String, ObjectContext, MergeOption)

Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu a zadané možnosti sloučení.

Poznámky

Objekt ObjectQuery<T> může být inicializován takovým způsobem, že představuje jeden skalární výsledek, a ne kolekci skalárních výsledků. Některé rozšiřující metody vyžadují jako vstup výsledky shromažďování. V tomto případě ArgumentException je vyvolána při zavolání jedné z těchto metod. Další informace najdete v tématu Dotazy na objekty.

Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.

ObjectQuery<T>(String, ObjectContext)

Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context);
public ObjectQuery (string commandText, System.Data.Objects.ObjectContext context);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext)

Parametry

commandText
String

Dotaz Entity SQL.

context
ObjectContext

Na ObjectContext kterém se má dotaz spustit.

Příklady

Tento příklad ukazuje, jak vytvořit instanci ObjectQuery<T> třídy .

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Call the constructor with a query for products and the ObjectContext.
    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>("Products", context);

    foreach (Product result in productQuery1)
        Console.WriteLine("Product Name: {0}", result.Name);

    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    // Call the constructor with the specified query and the ObjectContext.
    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString, context);

    foreach (Product result in productQuery2)
        Console.WriteLine("Product Name: {0}", result.Name);

    // Call the constructor with the specified query, the ObjectContext,
    // and the NoTracking merge option.
    ObjectQuery<Product> productQuery3 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    foreach (Product result in productQuery3)
        Console.WriteLine("Product Name: {0}", result.Name);
}

Poznámky

Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.

Viz také

Platí pro

ObjectQuery<T>(String, ObjectContext, MergeOption)

Vytvoří novou ObjectQuery<T> instanci pomocí zadaného příkazu Entity SQL jako počátečního dotazu a zadané možnosti sloučení.

public:
 ObjectQuery(System::String ^ commandText, System::Data::Objects::ObjectContext ^ context, System::Data::Objects::MergeOption mergeOption);
public ObjectQuery (string commandText, System.Data.Objects.ObjectContext context, System.Data.Objects.MergeOption mergeOption);
new System.Data.Objects.ObjectQuery<'T> : string * System.Data.Objects.ObjectContext * System.Data.Objects.MergeOption -> System.Data.Objects.ObjectQuery<'T>
Public Sub New (commandText As String, context As ObjectContext, mergeOption As MergeOption)

Parametry

commandText
String

Dotaz Entity SQL.

context
ObjectContext

Na ObjectContext kterém se má dotaz spustit.

mergeOption
MergeOption

Určuje, jak se mají sloučit entity, které jsou načteny tímto dotazem, s entitami, které byly vráceny z předchozích dotazů proti stejnému ObjectContextdotazu .

Příklady

V tomto příkladu ObjectQuery<T> se inicializuje zadaným dotazem ObjectContext, a MergeOption.

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product FROM
        AdventureWorksEntities.Products AS product
        WHERE product.ProductID > @productID";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    productQuery1.Parameters.Add(new ObjectParameter("productID", productID));

    ObjectQuery<DbDataRecord> productQuery2 =
        productQuery1.Select("it.ProductID");

    foreach (DbDataRecord result in productQuery2)
    {
        Console.WriteLine("{0}", result["ProductID"]);
    }
}

Poznámky

Když vaše aplikace generuje dotazy Entity SQL za běhu, měli byste mít na paměti všechna omezení délky příkazů zdroje dat. Entity SQL nevynucuje omezení délky textu příkazu v dotazech.

Platí pro