Exporter (0) Imprimer
Développer tout
Développer Réduire

Procédure : charger explicitement des entités POCO (Entity Framework)

.NET Framework 4

Les exemples de cette rubrique vous indiquent comment charger explicitement des objets connexes à l'aide de la méthode LoadProperty sur le ObjectContext. Pour obtenir un exemple d'utilisation du chargement différé pour accéder aux objets connexes, consultez Procédure : utiliser le chargement différé pour charger des objets connexes (Entity Framework). La méthode LoadProperty peut être utilisée avec les entités POCO et avec les entités dérivées de EntityObject.

Les exemples de cette rubrique utilisent les classes de données POCO définies dans Procédure : définir des entités POCO (Entity Framework), la classe AdventureWorksEntities (dérivée de ObjectContext) créée dans Procédure: définir un contexte d'objet personnalisé (Entity Framework), et un modèle de données AdventureWorks défini dans Procédure : personnaliser des fichiers de modèle et de mappage pour utiliser des objets personnalisés (Entity Framework).

Exemple

Cet exemple retourne les cinq premiers objets Order et appelle la méthode LoadProperty pour charger explicitement les objets LineItem connexes pour chaque 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);
    }
}

Voir aussi

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft