我试图在我的 SQL Server Express 2005 中观察一些数据,如下所示:
SqlDependency.Stop(connectionString);
SqlDependency.Start(connectionString);
using (var con = new SqlConnection(connectionString))
{
con.Open();
var queryString = "SELECT [Name] FROM [dbo].[Persons]";
var command = new SqlCommand(queryString, con);
var dependency = new SqlDependency(command);
dependency.OnChange += OnQueryChanged;
command.ExecuteReader();
}
问题是我只对“名称”列更改时的回调感兴趣。但如果“Persons”表的另一列发生更改,也会调用 OnQueryChanged,如下所示:
var context = new Entities();
context.Persons.First().Street = "Foo";
context.SaveChanges();
这是 SqlDependency 的预期行为还是我在使用中犯了错误?