2010-11-25 24 views
1

Dites que j'ai plusieurs panneaux, certains d'entre eux montrant des données de DB, et d'autres permettant d'ajouter/supprimer/mettre à jour des lignes dans DB. J'ai aussi un autre programme (sur un autre ordinateur) capable d'écrire en DB en même temps.Comment synchroniser mes datacontexts avec des changements de DB externes?

Je n'ai pas de serveur middleware entre chaque programme, ce que j'ai trouvé exagéré étant donné la petite taille de mon projet (mon erreur? Peut-être, mais j'avais peur du temps qu'il aurait fallu).

Comment puis-je faire en sorte que mes ViewModels soient actualisés en fonction des changements de DB à la volée? Toutes les propriétés seraient à jour chaque fois que le vm est réinstancié, ce qui arrive ... presque jamais.

On m'a dit que SQL Server a des mécanismes qui pourraient m'aider. Cela implique-t-il des déclencheurs? J'ai besoin d'un peu d'aide et de conseils ici. Merci!

Répondre

1

La requête de requête est une option. Vérifiez ce lien sur: http://msdn.microsoft.com/en-us/library/t9x04ed2.aspx

Voici un exemple simple de la façon de la mettre en œuvre: http://msdn.microsoft.com/en-us/library/a52dhwx7(VS.80).aspx

Cependant, malgré l'exemple s'il vous plaît noter que le caveats d'utiliser ce dans les applications clientes

SqlDependency a été conçu à utiliser dans les services ASP.NET ou de niveau intermédiaire où il y a un nombre relativement petit de serveurs ayant des dépendances actifs contre la base de données. Il était pas conçu pour être utilisé dans les applications client , où des centaines ou milliers d'ordinateurs clients ont des objets SqlDependency mis en place pour un seul serveur de base de données.