共用方式為


常數表達式

常數表達式是由常數值所組成。 常數值會直接轉換成常數命令樹表達式,而用戶端上沒有任何轉譯。 這包括產生常數值的表達式。 因此,所有涉及常數的表達式都應該預期數據源行為。 這可能會導致與 CLR 行為不同的行為。

下列範例顯示伺服器上評估的常數表達式。

Decimal totalDue = 200 + 3;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
    IQueryable<string> salesInfo =
        from s in context.SalesOrderHeaders
        where s.TotalDue >= totalDue
        select s.SalesOrderNumber;

    Console.WriteLine("Sales order numbers:");
    foreach (string orderNum in salesInfo)
    {
        Console.WriteLine(orderNum);
    }
}
Dim totalDue = 200 + 3
Using context As New AdventureWorksEntities()
    Dim salesInfo = _
        From s In context.SalesOrderHeaders _
        Where s.TotalDue >= totalDue _
        Select s.SalesOrderNumber

    Console.WriteLine("Sales order numbers:")
    For Each orderNum As String In salesInfo
        Console.WriteLine(orderNum)
    Next
End Using

LINQ to Entities 不支援使用用戶類別做為常數。 不過,用戶類別上的屬性參考會被視為常數,而且會轉換成命令樹常數表示式,並在數據源上執行。

另請參閱