J'ai cette applikation qui est en fait deux applications, une application web et une application console. L'application console est utilisée comme une tâche planifiée sur la machine Windows et est exécutée 3 fois par jour pour effectuer un travail récurrent. Les deux applications utilisent le même modèle et le même référentiel qui est placé dans un projekt séparé (bibliothèque de classes). Le problème est que si l'application console doit apporter des modifications à la base de données, elle met à jour l'entité du modèle et enregistre les modifications dans la base de données mais le contexte de la webbapplication ne le reconnaît pas et le contexte de l'objet n'est pas actualisé. nouvelles/mises à jour et l'utilisateur de l'application ne peut pas voir les changements.Assurez-vous que Entity Framework lit toujours à partir de la base de données?
Ma question est la suivante: Existe-t-il un moyen de dire à l'objetcontexte de toujours charger les données de la base de données, soit sur le trou objectcontext ou pour une requête spécifique?
/Salutations Vinblad
Ce n'est pas vrai. Si vous exécutez votre requête, modifiez vos données dans la base de données et réexécutez la requête dans le même contexte, vous ne recevrez pas de nouvelles données. ObjectContext implémente plusieurs modèles - celui-ci s'appelle Identity Map, ce qui signifie que l'entité de la même clé n'est chargée qu'une seule fois. –
Merci Yakimych pour l'info, le lien que vous m'avez fourni m'a amené dans la bonne direction, il s'est avéré que j'avais besoin de support pour PerWebRequest dans Unity (j'ai utilisé cette implémentation qui semble fonctionner: http://weblogs.asp.net /rashid/archive/2009/02/15/asp-net-mvc-unity-and-common-service-locator.aspx) – Vinblad
@Ladislav - merci pour la correction! @Vinblad - content que je pourrais aider;) – Yakimych