Getting data from SqlDependency

后端 未结 7 618
别那么骄傲
别那么骄傲 2021-01-02 06:25

I\'ve got a table and a SqlDependency that is waiting for new inserts.

OnChange fires as I need, but I don\'t understand if it\'s possible to get the row which caus

7条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-02 06:40

    Just use a cross-platform .NET 3.5 compatible and open-source SqlDependencyEx. It uses a database trigger and native Service Broker notification to receive events about the table changes. This is a usage example:

    int changesReceived = 0;
    using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
              TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME)) 
    {
        sqlDependency.TableChanged += (o, e) => changesReceived++;
        sqlDependency.Start();
    
        // Make table changes.
        MakeTableInsertDeleteChanges(changesCount);
    
        // Wait a little bit to receive all changes.
        Thread.Sleep(1000);
    }
    
    Assert.AreEqual(changesCount, changesReceived);
    

    You can get change notifications as well as information which was changed. Please follow the link for details.

提交回复
热议问题