Когда в моей таблице данных есть какие-либо изменения UserSubsidiaryFunction
(вставить, обновить или удалить), я получаю всю таблицу с этим кодом:
using (SqlConnection connection = new SqlConnection(connectionString))
{
//using SqlTableDependency
using (var tableDependency = new SqlTableDependency<UserSubsidiaryFunction>(connectionString, "UserSubsidiaryFunction"))
{
tableDependency.OnChanged += TableDependency_Changed;
tableDependency.OnError += TableDependency_OnError;
tableDependency.Start();
Console.WriteLine("Waiting for receiving notifications . . .");
Console.WriteLine("Press a key to stop");
Console.ReadKey();
tableDependency.Stop();
}
}
и:
static void TableDependency_Changed(object sender, RecordChangedEventArgs<UserSubsidiaryFunction> e)
{
Console.WriteLine(Environment.NewLine);
if (e.ChangeType != ChangeType.None)
{
var changedEntity = e.Entity;
Console.WriteLine($"DML operation : {e.ChangeType}");
Console.WriteLine($"pk_UserSubsidiaryFunction new value : {e.Entity.fk_Subsidiary}");
Console.WriteLine($"fk_User : {changedEntity.fk_User}");
Console.WriteLine($"fk_Subsidiary : {changedEntity.fk_Subsidiary}");
Console.WriteLine(Environment.NewLine);
}
}
Но когда есть какие-либо изменения, я хотел бы получить только имя столбца, который был изменен. Это возможно с sqlTableDependency
? Если нет, то возможно с SqlDependency
? Как? Спасибо