Ejemplo n.º 1
0
 private static void ExplicitLoading()
 {
     using (var context = new QueryingContext())
     {
         context.Database.Initialize(true);
         context.Database.Log = Log;
         foreach (var order in context.Orders)
         {
             var orderEntry = context.Entry(order);
             if (!orderEntry.Collection(o => o.OrderLines).IsLoaded)
             {
                 Console.WriteLine($"Loading order lines for order #{order.Id}...");
                 orderEntry.Collection(o => o.OrderLines).Load();
             }
             foreach (var orderLine in order.OrderLines)
             {
                 var orderLineEntry = context.Entry(orderLine);
                 if (!orderLineEntry.Reference(ol => ol.Product).IsLoaded)
                 {
                     Console.WriteLine($"Loading product for order line #{orderLine.Id}...");
                     orderLineEntry.Reference(ol => ol.Product).Load();
                     Console.WriteLine($"Product {orderLine.Product.Name} loaded");
                 }
                 Console.WriteLine($"Order line #{orderLine.Id} of order {order.Id} has the product {orderLine.Product.Name}");
             }
         }
         context.SaveChanges();
     }
 }
Ejemplo n.º 2
0
 private static void CreateOrder()
 {
     using (var context = new QueryingContext())
     {
         context.Orders.Add(new Order());
         context.SaveChanges();
     }
 }