2010-09-20 9 views
1

J'ai un objet appelé Account, qui a une référence à un fuseau horaire via une relation de clé étrangère. Sur le compte-objet, je peux voir le TimeZone_Fk_Id ainsi que la référence à la fois Account.TimeZone et Account.TimeZoneReference. J'essaie de mettre à jour la relation de clé étrangère, mais je ne peux pas comprendre comment. J'ai essayé toutes sortes de choses. J'ai essayé de régler le TimeZone_Fk_Id directement, essayé de régler le Account.TimeZone à un nouveau fuseau horaire, essayé de mettre à jour les entitykeys etc etc Mais rien ne semble fonctionner. Je ne reçois aucune exception, mais quand je vérifie le fuseau horaire après que je l'ai soi-disant changé, c'est toujours l'ancienne valeur.Comment mettre à jour une relation de clé étrangère dans entity framework 4?

Toute aide est grandement appréciée

grâce Thomas

+0

Pouvez-vous montrer un code qui ne fonctionne pas? –

+0

J'ai essayé tous les éléments suivants: Account.TimeZone_Fk_Id = 2; (en s'assurant qu'il y a un enregistrement de fuseau horaire avec l'identifiant 2); tblTimeZone tz = récupère le fuseau horaire à partir de db Account.tblTimeZone = tz; Account.tblTimeZoneReference.Value = tz; Account.tblTimeZoneReference.EntityKey = tz.EntityKey; Je ne pouvais pas obtenir aucun de ce qui précède pour travailler. Chaque fois que j'essaye d'assigner une valeur, cela ne met pas à jour l'objet. Des idées? Merci Thomas – Thomas

Répondre

0

Avez-vous essayé quelque chose comme

Account account; 
TimeZone timeZone; 
//Get account instance 
//Get timeZone instance to update 
account.TimeZone = timeZone; 
context.SaveChanges(); 
+0

Je l'ai compris, et c'était une erreur dans mon code. Avant d'enregistrer les modifications, je comparais le réglage de fuseau horaire avec le réglage de fuseau horaire d'origine. Dans ce processus, le nouveau réglage de fuseau horaire était remis à l'ancien. – Thomas