ObjectQuery<T> Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe ObjectQuery<T>.
Overload
ObjectQuery<T>(String, ObjectContext) |
Crea una nuova ObjectQuery<T> istanza usando il comando Entity SQL specificato come query iniziale. |
ObjectQuery<T>(String, ObjectContext, MergeOption) |
Crea una nuova ObjectQuery<T> istanza usando il comando Entity SQL specificato come query iniziale e l'opzione di unione specificata. |
Commenti
È possibile inizializzare un oggetto ObjectQuery<T> in modo che rappresenti un singolo risultato scalare e non una raccolta di risultati scalari. Alcuni metodi di estensione richiedono come input risultati costituiti da una raccolta. In questo caso, viene generata un'eccezione ArgumentException quando viene chiamato uno di questi metodi. Per altre informazioni, vedere Query sugli oggetti.
Quando l'applicazione genera query Entity SQL in fase di esecuzione, è necessario tenere presente qualsiasi limitazione della lunghezza dei comandi dell'origine dati. Entity SQL non applica limitazioni sulla lunghezza del testo del comando nelle query.
ObjectQuery<T>(String, ObjectContext)
Crea una nuova ObjectQuery<T> istanza usando il comando Entity SQL specificato come query iniziale.
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)
Parametri
- commandText
- String
Query Entity SQL.
- context
- ObjectContext
Oggetto ObjectContext su cui eseguire la query.
Esempio
In questo esempio viene illustrato come costruire un'istanza della ObjectQuery<T> classe.
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);
}
Commenti
Quando l'applicazione genera query Entity SQL in fase di esecuzione, è necessario tenere presente qualsiasi limitazione della lunghezza dei comandi dell'origine dati. Entity SQL non applica limitazioni sulla lunghezza del testo del comando nelle query.
Vedi anche
Si applica a
ObjectQuery<T>(String, ObjectContext, MergeOption)
Crea una nuova ObjectQuery<T> istanza usando il comando Entity SQL specificato come query iniziale e l'opzione di unione specificata.
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)
Parametri
- commandText
- String
Query Entity SQL.
- context
- ObjectContext
Oggetto ObjectContext su cui eseguire la query.
- mergeOption
- MergeOption
Specifica il modo in cui le entità recuperate mediante questa query devono essere unite con le entità restituite dalle query precedenti sullo stesso oggetto ObjectContext.
Esempio
In questo esempio viene ObjectQuery<T> inizializzato con la query specificata, ObjectContext, e 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"]);
}
}
Commenti
Quando l'applicazione genera query Entity SQL in fase di esecuzione, è necessario tenere presente qualsiasi limitazione della lunghezza dei comandi dell'origine dati. Entity SQL non applica limitazioni sulla lunghezza del testo del comando nelle query.