次の方法で共有


方法 : 情報を読み取り専用として取得する (LINQ to SQL)

更新 : November 2007

データを変更する予定がない場合は、読み取り専用の結果を取得することでクエリのパフォーマンスを向上させることができます。

読み取り専用の処理を実装するには、ObjectTrackingEnabled を false に設定します。

Bb399418.alert_note(ja-jp,VS.90).gifメモ :

ObjectTrackingEnabled を false に設定すると、DeferredLoadingEnabled が暗黙的に false に設定されます。

使用例

次のコード例は、従業員の入社日の読み取り専用コレクションを取得します。

Dim db As New Northwnd("c:\northwnd.mdf")

db.ObjectTrackingEnabled = False
Dim hireQuery = _
    From emp In db.Employees _
    Select emp _
    Order By emp.HireDate

For Each empObj As Employee In hireQuery
    Console.WriteLine("EmpID = {0}, Date Hired = {1}", _
            empObj.EmployeeID, empObj.HireDate)
Next
Northwnd db = new Northwnd(@"c:\northwnd.mdf");

db.ObjectTrackingEnabled = false;
IOrderedQueryable<Employee> hireQuery =
    from emp in db.Employees
    orderby emp.HireDate
    select emp;

foreach (Employee empObj in hireQuery)
{
    Console.WriteLine("EmpID = {0}, Date Hired = {1}",
        empObj.EmployeeID, empObj.HireDate);
}

参照

概念

遅延読み込みと即時読み込み (LINQ to SQL)

その他の技術情報

LINQ to SQL のクエリの概念

データベースに対してクエリを実行する (LINQ to SQL)