1

Je travaille sur un projet dans lequel j'utilise Entity Framework.EDMX Entités ne remplissant pas les données

Il y a un problème très étrange que j'ai rencontré.
Je reçois l'information de table User via EDMX qui a une relation avec une table Contacts (via la colonne UserID).

Maintenant, collection User a récupéré ContactID et il devrait également récupérer Contact informations pour tous les Users alors que l'entité Contact est peuplée pour certains des User s et pour d'autres il est NULL. Mais, si je vérifie la valeur dans ContactID il est disponible mais l'entité Contact est NULL pour certains utilisateurs. Je n'ai jamais fait face à ce genre de problème. Toute suggestion doit être fortement appréciée ...

+0

Je suppose que vous avez chargement paresseux .. s'il vous plaît poster le code où vous essayez de charger l'utilisateur. – Ezi

Répondre

1

Tout d'abord, assurez-vous que les clés et les associations sont correctement configurées. Si vous pensez que c'est le cas, lisez attentivement l'article this.


puis choisissez l'une des options suivantes:

Inclure des références dans votre requête:

var query = context.Contacts 
       .Include(c => c.User) 
       .SingleOrDefault(c => c.UserID == userID); 

Activer Chargement Lazy
Une autre option permet aux explicitement de chargement paresseux dans le constructeur du contexte (ou en remplaçant OnModelCreating):

public MyContext() 
{ 
    Configuration.LazyLoadingEnabled = true; 
} 
+0

J'ai déjà mis en œuvre ce qui précède. –

+0

Donc, si ça ne marche pas, vous allez nous montrer votre code. Veuillez partager vos entités 'Contact' et' User', votre contexte et votre requête. – Shimmy