方法: 情報を読み取り専用として取得する
データを変更する予定がない場合は、読み取り専用の結果を取得することでクエリのパフォーマンスを向上させることができます。
読み取り専用の処理を実装するには、ObjectTrackingEnabled を false
に設定します。
Note
ObjectTrackingEnabled を false
に設定すると、DeferredLoadingEnabled が暗黙的に false
に設定されます。
例
次のコード例は、従業員の入社日の読み取り専用コレクションを取得します。
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);
}
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