共用方式為


LINQ to Entities 查詢中的運算式

運算式是可以評估為單一值、物件、方法或命名空間的程式碼片段。運算式可以包含常值、方法呼叫、運算子及其運算元,或是簡單名稱。簡單名稱可以是變數、型別成員、方法參數、命名空間或型別的名稱。運算式可以使用運算子 (後者又可能使用其他運算式當做參數) 或方法呼叫 (它的參數又可能是其他方法呼叫)。因此,運算式可以很簡單,也可以非常複雜。

在 LINQ 到實體 查詢中,運算式可以包含 System.Linq.Expressions 命名空間中型別允許的任何項目,包括 Lambda 運算式。LINQ 到實體 查詢中可以使用的運算式是可用於查詢 實體架構 之運算式的超集。針對 實體架構 之查詢中所包含的運算式僅限於 ObjectQuery<T> 和基礎資料來源所支援的運算。

在以下範例中,Where 子句中的比較就是個運算式:

Using AWEntities As New AdventureWorksEntities()
    Dim sales As ObjectQuery(Of SalesOrderHeader) = AWEntities.SalesOrderHeader

    Dim salesInfo = _
        From s In sales _
        Where s.TotalDue >= 200 _
        Select s.SalesOrderID

    Console.WriteLine("Sales order info:")
    For Each orderNumber As Integer In salesInfo
        Console.WriteLine("Order number: " & orderNumber)
    Next
End Using
using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
    ObjectQuery<SalesOrderHeader> sales = AWEntities.SalesOrderHeader;

    IQueryable<int> salesInfo =
        from s in sales
        where s.TotalDue >= 200
        select s.SalesOrderID;

    Console.WriteLine("Sales order info:");
    foreach (int orderNumber in salesInfo)
    {
        Console.WriteLine("Order number: " + orderNumber);                    
    }
}
Note附註

指定語言建構 (例如 C# unchecked) 在 LINQ 到實體 中沒有意義。

本節內容

另請參閱

其他資源

用 LINQ to Entities 查詢