Автоматическое обновление из базы данных - PullRequest
1 голос
/ 02 июня 2011

Я занимаюсь разработкой в ​​WPF и хочу, чтобы моя DataGrid автоматически обновлялась при изменении базы данных, и наоборот.

Сегодня я использую таймеры и простые операции выбора для выполнения обновлений.Есть ли в .Net что-то, что обеспечивает такую ​​функциональность?

Ответы [ 3 ]

2 голосов
/ 02 июня 2011

Одной из идей является использование MSMQ .Таким образом, несколько клиентских приложений могут получать уведомления, когда что-то меняется.Вам необходимо добавить триггер в базу данных SQL (или приложение, которое изменяет базу данных), чтобы уведомлять очередь сообщений при каждом добавлении чего-либо нового (см .: Отправка сообщения в MSMQ через SQL Server ).В этом случае клиентское приложение должно будет подписаться на очередь сообщений и действовать в отношении любых новых сообщений, публикуемых там.

Существует также SQL Server Service Broker , но я не очень знаком с этим, но, возможно, стоит исследовать.

2 голосов
/ 02 июня 2011

К сожалению, база данных является «вытягивающими» источниками данных и не предоставляет никакой «проталкивающей» модели данных, чтобы заставить ваш код уведомлять об изменениях, пока вы не реализуете псевдо-push, что в основном и является тем, что вы упомянули, т.е. таймеры, опрашивающие базу данных.Другой вариант может заключаться в реализации Trigger, который вызывает CLR SP, и этот SP может отправлять данные в ваш код посредством удаленного взаимодействия или чего-то подобного.

0 голосов
/ 02 июня 2011

попробуйте использовать службы уведомлений SQL Server.Я не использовал его раньше, но вы можете сделать это с помощью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...