2012-11-06 3 views
0

Je n'ai pas un problème avec les classes poco dans EF 4.Entity Framework POCO - Navigation de la propriété ne rafraichir

J'ai une entité de commande Wich contient une clé étrangère à une entité client. Par conséquent, la classe Order a une propriété de navigation de type Customer.

Il est ressembler à ceci:

public class Order 
{ 
    public virtual int Id { get; set; } 
    public virtual CustomerId { get; set; } 
    public virtual Customer customer { get; set;} 
    … 
} 

Quand je charge une commande, le client de la propriété de navigation est correct, mais si les changements de propriété customerId, la propriété de navigation rafraîchissez pas avec le nouveau client.

Si j'appelle la méthode DetectChanges() sur le contexte EF, la propriété de navigation est alors actualisée.

J'ai lu que, avec toutes les propriétés marquées comme virtuelles, la synchronisation des relations est automatique, mais ce n'est pas le cas ici.

Où est-ce que je me suis trompé?

Merci pour toute aide

+0

Je viens de tester cela et pour moi cela fonctionne comme prévu. Pouvez-vous montrer plus de détails, s'il vous plaît? La requête que vous exécutez et le code suivant jusqu'à ce que vous changiez la propriété FK, la version EF exacte que vous utilisez et si ObjectContext ou DbContext, etc. Veuillez aussi vérifier dans le débogueur si la commande chargée et le client sont des proxies dynamiques. – Slauma

Répondre

0

Cela signifie que pour une procuration raison n'a pas été créé pour vous entité. Jetez un oeil à cet article de blog - http://blogs.msdn.com/b/adonet/archive/2009/12/22/poco-proxies-part-1.aspx. Voici les conditions pour créer des proxies: http://msdn.microsoft.com/en-us/library/vstudio/dd468057(v=vs.100).aspx. La création de proxy ne doit pas être désactivée.

+0

Merci pour ces liens utiles. Cela m'aide à mieux comprendre l'utilisation des proxys et à vérifier ce qui pourrait ne pas fonctionner dans mon code. Enfin, le problème provient d'une autre propriété de navigation mal implémentée. –

Questions connexes