次の方法で共有


定数式

定数式は、定数値で構成されます。 定数値は、クライアント上で変換することなく、定数コマンド ツリー式に直接変換されます。 これには、定数値を生成する式が含まれます。 そのため、定数を含むすべての式に対してデータ ソースの動作が必要です。 これにより、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 では、ユーザー クラスを定数として使用することはできません。 ただし、ユーザー クラスのプロパティ参照は定数と見なされ、コマンド ツリー定数式に変換され、データ ソースで実行されます。

こちらも参照ください