ObjectQuery<T>.Select(String, ObjectParameter[]) 方法

定義

將查詢結果限制為只有定義在指定之投影中的屬性。

public:
 System::Data::Objects::ObjectQuery<System::Data::Common::DbDataRecord ^> ^ Select(System::String ^ projection, ... cli::array <System::Data::Objects::ObjectParameter ^> ^ parameters);
public System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord> Select (string projection, params System.Data.Objects.ObjectParameter[] parameters);
member this.Select : string * System.Data.Objects.ObjectParameter[] -> System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord>
Public Function Select (projection As String, ParamArray parameters As ObjectParameter()) As ObjectQuery(Of DbDataRecord)

參數

projection
String

定義投影之選取屬性的清單。

parameters
ObjectParameter[]

這個方法所使用的零個或多個參數。

傳回

屬於 ObjectQuery<T> 型別的新 DbDataRecord 執行個體,它就相當於套用了 SELECT 的原始執行個體。

例外狀況

projectionnull

-或-

parametersnull

projection 為空字串。

範例

此範例會建立新的 ObjectQuery<T> ,其結果為包含 ProductID 此查詢結果欄位的數據記錄。

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

備註

Select 會套用 參數所 projection 指定的投影。 ObjectQuery<T> 方法所傳回的 Select 一律屬於 DbDataRecord 資料列型別。 您可以使用 SelectValue 方法來傳回屬於簡單型別、實體類型或複雜類型的值。 如需詳細資訊,請參閱 LINQ to Entities

當投影包含導覽屬性時,查詢結果就會包含巢狀 DbDataRecord 物件的集合。

適用於

另請參閱