2014-11-26 3 views
0

Как и в заголовке, мне нужно уведомить в мое приложение WPF WPF любые изменения в базе данных (есть еще одно приложение, добавляющее данные в одну таблицу).Уведомлять об изменениях из общей базы данных в приложение WPF

Я использую Entity Framework и Linq. Dbms могут быть разными (SQL Server, Oracle, MySQL, ...).

Я читаю много об этом, и я спрашиваю его также здесь: есть ли способ достичь этой цели без с использованием опроса?

+1

Да, вы должны слушать события базы данных , Но для этого требуются очень специфичные для РСУБД конфигурации и код C#. Это делает этот вопрос слишком широким. Вы можете запустить [здесь] (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency.aspx). –

+0

В SQL Server 2008 есть функция отслеживания изменений. Вам действительно нужны какие-либо изменения в любой таблице? И как бы вы его обрабатывали? Теперь вопрос действительно слишком широк. –

+0

@GertArnold ваша ссылка предназначена только для SQL Server ... Я сказал для всех dbms –

ответ

0

Я надеюсь, что следующая ссылка может помочь вам, особенно ответ для уведомления о событиях & объектов CLR в SQL Server (комментарии на и т.д. инструментов Redis) для SQL Server, но это может быть ограничен одним или двумя базами данных: MsSQL callback function to asp.net website

для базы данных Oracle, ОРС имеет аналогичный механизм уведомления:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/changenotification/ChangeNotification.htm

и поскольку поставщики EF различны для SQL & Oracle и с очень меньше Suppor t для другой базы данных вы можете иметь размещенную службу и т. д., прослушивание уведомлений об изменениях и публикацию события изменения данных, чтобы абонент мог предпринять соответствующие действия, такие как освежающий контекст или обновление кеша и т. д.

+0

, но ваша ссылка специфична для dbms ... существует ли что-то «универсальное»? –

+0

«Универсальный» - это сложное явление. AFAIK :-) Вот почему я упомянул, что его применимо к довольно многочисленным базам данных, а также сам EF не универсален для большинства баз данных, в отличие от других ORM, таких как NHibernate –

+0

@PieroAlberto. Но вы можете сделать обратный вызов службы как шаблон, с тем чтобы любые базы данных, с которыми вы работаете, имеет аналогичную поддержку обратного вызова, может вызвать службу для публикации уведомления. –

Смежные вопросы