ObjectQuery.GetResultType 方法


傳回查詢之結果型別的相關資訊。Returns information about the result type of the query.

 System::Data::Metadata::Edm::TypeUsage ^ GetResultType();
public System.Data.Metadata.Edm.TypeUsage GetResultType ();
member this.GetResultType : unit -> System.Data.Metadata.Edm.TypeUsage
Public Function GetResultType () As TypeUsage



TypeUsage 值,其中包含查詢之結果型別的相關資訊。A TypeUsage value that contains information about the result type of the query.


這個範例是根據 Microsoft SQL Server 產品範例: DatabaseThis example is based on the Microsoft SQL Server Product Samples: Database. 此範例會建立型別為 ObjectQuery<T>DbDataRecord 並且使用 GetResultType 來判斷傳回的型別是否代表資料列。The example creates an ObjectQuery<T> of type DbDataRecord and uses GetResultType to determine whether the type returned represents a row.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
    string queryString = @"SELECT VALUE product "
    + "FROM AdventureWorksEntities.Products AS product";
    ObjectQuery<DbDataRecord> query =
        new ObjectQuery<DbDataRecord>
            (queryString, context);

    TypeUsage type = query.GetResultType();
    if (type.EdmType is RowType)
        RowType row = type.EdmType as RowType;
        foreach (EdmProperty column in row.Properties)
            Console.WriteLine("{0}", column.Name);
Using context As New AdventureWorksEntities()
    Dim queryString As String = "SELECT VALUE product " & "FROM AdventureWorksEntities.Products AS product"
    Dim query As New ObjectQuery(Of DbDataRecord)(queryString, context)

    Dim type As TypeUsage = query.GetResultType()
    If TypeOf type.EdmType Is RowType Then
        Dim row As RowType = TryCast(type.EdmType, RowType)
        For Each column As EdmProperty In row.Properties
            Console.WriteLine("{0}", column.Name)
    End If
End Using