Partager via


Procédure : récupérer des informations en lecture seule (LINQ to SQL)

Lorsque vous ne projetez pas de modifier les données, vous pouvez augmenter les performances des requêtes en recherchant des résultats en lecture seule.

Implémentez le traitement en lecture seule en affectant la valeur false à ObjectTrackingEnabled.

RemarqueRemarque

Lorsque la valeur false est affectée à ObjectTrackingEnabled, DeferredLoadingEnabled a implicitement la valeur false.

Exemple

Le code suivant récupère une collection en lecture seule de dates d'embauche d'employés.

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);
}

Voir aussi

Concepts

Comparaison entre le chargement différé et le chargement immédiat (LINQ to SQL)

Autres ressources

Concepts relatifs aux requêtes dans LINQ to SQL

Interrogation de la base de données (LINQ to SQL)