Skip to content

Bulk record changes notifications

Tomas Fabian edited this page Feb 12, 2020 · 2 revisions
var connectionString = ConfigurationManager.ConnectionStrings["FargoEntities"].ConnectionString;

using var productsProvider = new DevicesSqlTableDependencyProvider(connectionString, ThreadPoolScheduler.Instance, new ConsoleLogger());

using var changesSubscription = productsProvider.CreateBulkRecordChangesNotifier(TimeSpan.FromMilliseconds(250), 50, new EventLoopScheduler())
        .Subscribe(c =>
        {
          foreach (var recordChangedNotification in c)
          {
            switch (recordChangedNotification.ChangeType)
            {
                case ChangeType.Insert:
                  // OnInsert
                  break;
                case ChangeType.Update:
                  // OnUpdate
                  break;
                case ChangeType.Delete:
                  // OnDelete
                  break;
                default:
                  // Otherwise
                  break;
            }
          }
        });

productsProvider.SubscribeToEntityChanges();