Тіл

ObjectQuery<T> Конструкторы

Определение

Инициализирует новый экземпляр класса ObjectQuery<T>.

Перегрузки

Имя Описание
ObjectQuery<T>(String, ObjectContext)

Создает новый ObjectQuery<T> экземпляр с помощью указанной команды Entity SQL в качестве начального запроса.

ObjectQuery<T>(String, ObjectContext, MergeOption)

Создает новый ObjectQuery<T> экземпляр с помощью указанной команды Entity SQL в качестве начального запроса и указанного параметра слияния.

Комментарии

Можно ObjectQuery<T> инициализировать таким образом, чтобы он представлял собой один скалярный результат, а не коллекцию скалярных результатов. Для некоторых методов расширения требуются результаты сбора в качестве входных данных. В этом случае ArgumentException вызывается исключение при вызове одного из этих методов. Дополнительные сведения см. в разделе "Запросы объектов".

Когда приложение создает запросы Entity SQL во время выполнения, следует учитывать все ограничения длины команд источника данных. Entity SQL не применяет ограничения на длину текста команды в запросах.

ObjectQuery<T>(String, ObjectContext)

Создает новый ObjectQuery<T> экземпляр с помощью указанной команды Entity SQL в качестве начального запроса.

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)

Параметры

commandText
String

Запрос Entity SQL.

context
ObjectContext

Значение ObjectContext , в котором выполняется запрос.

Примеры

В этом примере показано, как создать экземпляр ObjectQuery<T> класса.

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);
}

Комментарии

Когда приложение создает запросы Entity SQL во время выполнения, следует учитывать все ограничения длины команд источника данных. Entity SQL не применяет ограничения на длину текста команды в запросах.

См. также раздел

Применяется к

ObjectQuery<T>(String, ObjectContext, MergeOption)

Создает новый ObjectQuery<T> экземпляр с помощью указанной команды Entity SQL в качестве начального запроса и указанного параметра слияния.

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)

Параметры

commandText
String

Запрос Entity SQL.

context
ObjectContext

Значение ObjectContext , в котором выполняется запрос.

mergeOption
MergeOption

Указывает, как сущности, полученные с помощью этого запроса, должны быть объединены с сущностями, возвращаемыми из предыдущих запросов к одному и тому же ObjectContext.

Примеры

В этом примере инициализируется ObjectQuery<T> заданным запросом ObjectContextи 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"]);
    }
}

Комментарии

Когда приложение создает запросы Entity SQL во время выполнения, следует учитывать все ограничения длины команд источника данных. Entity SQL не применяет ограничения на длину текста команды в запросах.

Применяется к