J'utilise Unity 2.0 pour enregistrer un référentiel concret SQL Server contre un dépôt abstrait comme ceci:DataContext ne pas voir les mises à jour
var context = new DataContext(
ConfigurationManager.ConnectionStrings["DevDB"].ConnectionString
);
this.UnityContainer
.RegisterType<AlertQueueRepository, Sql.AlertQueueRepository>(
new InjectionConstructor(context)
);
Le contexte est partagé entre tous les autres dépôts que j'ai. Cela fonctionne très bien dans l'application, cependant, si quelqu'un d'autre - requête SSMS, paquetage SSIS, autre application - modifie la base de données mes référentiels ne sont pas conscients de cela et ne verront pas la modification.
Est-ce un problème avec la façon dont j'utilise Unity? Peut-être que les contextes traînent trop longtemps? Ou est-ce quelque chose que j'ai besoin de configurer avec LINQ?
Je voudrais ajouter que j'utilisais précédemment Ninject au lieu de Unity (changement orienté client). Lorsque j'utilisais Ninject, la ou les applications étaient exécutées comme je le souhaitais, les deux voyant les modifications de l'autre. Peut-être que Ninject se postait par requête? Est-ce quelque chose que je peux configurer pour que Unity fasse? – Yuck