0

SQL ServerExpress2005のデータを次のように観察しようとしています。

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();
}

問題は、「名前」列が変更された場合のコールバックにのみ関心があることです。ただし、OnQueryChangedは、テーブル「Persons」の別の列が次のように変更された場合にも呼び出されます。

var context = new Entities();
context.Persons.First().Street = "Foo";
context.SaveChanges();

これはSqlDependencyの意図された動作ですか、それともその使用法を間違えていますか?

4

1 に答える 1

1

テーブル全体を観察することしかできないようです (http://social.msdn.microsoft.com/Forums/en-US/sqlservicebroker/thread/acb94617-bafc-4e28-bc63-ddfd23ab2379) - これは正しいですか?

于 2010-11-17T13:52:02.130 に答える