c# - studio - sistema de ventas youtube
Agente de cambio de base de datos de SQL Server C# (5)
El DataContext no le ofrecerá ningún tipo de funcionalidad de escucha con SQL Server. Su mejor apuesta es crear una aplicación de sondeo, o incluso un hilo separado que sondea periódicamente la base de datos en busca de cambios y exponer un evento que su aplicación principal pueda escuchar.
Quiero escuchar los cambios en los datos en una base de datos de SQL Server desde C #. Esperaba que hubiera algún tipo de oyente que pudiera usar para determinar si los datos que tengo están obsoletos. A pesar de ser un escenario bastante común, no puedo encontrar ninguna solución que no sea simplemente encuestar la base de datos.
Utilizo Linq-To-SQL para acceder a los datos y, por lo tanto, tengo un objeto DataContext . Esperaba poder escuchar un evento de cambio de datos, pero parece que no puedo encontrar uno.
Aprecio que es una barrera no trivial (desde el método C # a la base de datos de SQL Server), la razón por la que esperaba que esto fuera un problema resuelto es que es un requisito común para las GUI. Si no es posible escuchar actualizaciones sobre cómo mantener actualizados los datos que se muestran en una GUI (cuando está respaldado por una fuente de datos de SQL Server).
Aunque esto no es para el trabajo de GUI, esperaba adaptar algo de ese reino.
¿Hay alguna forma de suscribirse a eventos de cambio de base de datos de SQL Server en C #?
Nunca los he usado antes, pero ¿has probado las notificaciones de eventos de SQL Server? Vea este artículo: Introducción a las notificaciones de eventos de SQL Server
Si está utilizando SQL Server 2008, hay una función integrada de captura de datos de cambio que es bastante útil.
http://msdn.microsoft.com/en-us/library/bb522489.aspx
Puedes leer los datos de los CDC.
Usaría una tabla con una sola fila en la base de datos para catalogar los eventos que se actualizaron, insertaron o eliminaron por última vez, y luego crearía disparadores en cada tabla de importancia para actualizar esta tabla y luego sondear esta tabla para detectar cambios.
Está buscando la clase SqlDependency
, que le permite escuchar los cambios en el conjunto de resultados de una consulta SQL.