Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

Cómo: Cargar explícitamente entidades POCO (Entity Framework)

.NET Framework 4

Los ejemplos de este tema muestran cómo cargar explícitamente objetos relacionados utilizando el método LoadProperty sobre el ObjectContext. Si desea obtener un ejemplo de uso de carga diferida para obtener acceso a objetos relacionados, vea Cómo: Utilizar la carga diferida para cargar objetos relacionados (Entity Framework). El método LoadProperty se puede utilizar con entidades POCO y con entidades que se derivan de EntityObject.

Los ejemplos de este tema usan las clases de datos POCO que se definen en Cómo: Definir entidades POCO (Entity Framework), la clase AdventureWorksEntities (derivada de ObjectContext) que se crea en Cómo: Definir un contexto del objeto personalizado (Entity Framework), y un modelo de datos basado en AdventureWorks que se define en Cómo: Personalizar archivos de asignación y modelado para trabajar con objetos personalizados (Entity Framework).

Ejemplo

Este ejemplo devuelve los primeros cinco objetos Order y llama al método LoadProperty para cargar explícitamente los objetos LineItem relacionados para cada Order.

using (POCOAdventureWorksEntities context =
        new POCOAdventureWorksEntities())
{
    try
    {
        // Disable lazy loading.
        context.ContextOptions.LazyLoadingEnabled = false;

        // Get the first five orders.
        foreach (Order order in context.Orders.Take(5))
        {
            // Because LazyLoadingEnabled is set to false,
            // we need to explicitly load the related line items for the order.
            context.LoadProperty(order, "LineItems");

            Console.WriteLine(String.Format("PO Number: {0}",
                order.ExtendedInfo.PurchaseOrderNumber));
            Console.WriteLine(String.Format("Order Date: {0}",
                order.OrderDate.ToString()));
            Console.WriteLine("Order items:");
            foreach (LineItem item in order.LineItems)
            {
                Console.WriteLine(String.Format("Product: {0} "
                    + "Quantity: {1}", item.ProductID,
                    item.OrderQty));
            }
        }
    }
    catch (InvalidOperationException ex)
    {
        Console.WriteLine(ex.Message);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft