How to: Turn Off Deferred Loading

 

You can turn off deferred loading by setting DeferredLoadingEnabled to false. For more information, see Deferred versus Immediate Loading.

System_CAPS_ICON_note.jpg Note

Deferred loading is turned off by implication when object tracking is turned off. For more information, see How to: Retrieve Information As Read-Only.

The following example shows how to turn off deferred loading by setting DeferredLoadingEnabled to false.

            Northwnd db = new Northwnd(@"c:\northwnd.mdf");
            db.DeferredLoadingEnabled = false;

            DataLoadOptions ds = new DataLoadOptions();
            ds.LoadWith<Customer>(c => c.Orders);
            ds.LoadWith<Order>(o => o.OrderDetails);
            db.LoadOptions = ds;

            var custQuery =
                from cust in db.Customers
                where cust.City == "London"
                select cust;

            foreach (Customer custObj in custQuery)
            {
                Console.WriteLine("Customer ID: {0}", custObj.CustomerID);
                foreach (Order ord in custObj.Orders)
                {
                    Console.WriteLine("\tOrder ID: {0}", ord.OrderID);
                    foreach (OrderDetail detail in ord.OrderDetails)
                    {
                        Console.WriteLine("\t\tProduct ID: {0}", detail.ProductID);
                    }
                }
            }

Query Concepts
Querying the Database

Show: