Query Notifications mit Microsoft SQL Server und Entity Framework 15.04.2019, 00:00 Uhr

Nachricht vom Server

SqlDependency gibt Laut, wenn sich Daten einer Microsoft-SQL-Server-Tabelle ändern.
In der Praxis der Softwareentwicklung mit .NET und .NET Core stellt sich immer wieder die Frage, wie man sich vom Datenbankserver informieren lassen kann, wenn sich Datensätze in einer Datenbanktabelle geändert haben. Microsoft bietet seit SQL Server 2005 dafür das Konzept der Abfragebenachrichtigungen (query notifications [1]) und dazu korrespondierend die .NET-Klasse System.Data.SqlClient.SqlDependency (seit .NET Framework 2.0 [2] und in .NET Core seit Version 2.1 [3]). In Oracle funktioniert dies ab Version 9.2 mithilfe der Klasse Oracle.DataAccess.Client.OracleDependency aus Oracles eigenem .NET-Treiber ODP.NET [4].
Entity Framework (EF) und Entity Framework Core (seit Version 2.1 [5]) können diese Benachrichtigungen nicht abstrahieren. Dennoch lassen sich Abfragebenachrichtigungen zusammen mit Microsofts objektrelationalen Mappern verwenden. Der Code in diesem Beitrag, der dies zeigt, läuft sowohl mit Entity Framework als auch mit EF Core.

dotnetpro

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Auf jedem Gerät verfügbar