Как получить уведомление, когда запись добавляется или обновляется в таблице базы данных в приложении asp.net c # mvc codefirst подход с базой данных MS SQL Server? - PullRequest
0 голосов
/ 23 сентября 2018

Я разработал базовое приложение в asp.net MVC с использованием подхода codefirst. Он имеет базовую модель следующим образом:

 {
    public int Id { get; set; }
    public string title { get; set; }
    public string location { get; set; }
    public DateTime Expected_Date_of_Start { get; set; }
    public DateTime Expected_Date_of_End { get; set; }
 }

Я могу вставлять, обновлять, удалять объекты, и все функции работают правильно.Теперь я хочу получать уведомления, когда кто-то вставляет новую запись или обновляет существующую.

Чтобы очистить картинку, я хочу каким-то образом создать систему уведомлений, например, как Facebook или Twitter уведомляет своих пользователей о любых изменениях.что происходит.

Как я могу реализовать такую ​​вещь, используя asp.net mvc codefirst подход с языком c #?

1 Ответ

0 голосов
/ 24 сентября 2018

Сначала вам нужно отловить событие модификации таблицы.Как вы писали о EF CodeFirst, я рекомендую переопределить SaveChanges.Примерно так:

Public Overrides Function SaveChanges() As Integer
   For Each changedEntity In Me.ChangeTracker.Entries
       Select Case If(changedEntity.Entity.GetType.Namespace = "System.Data.Entity.DynamicProxies", changedEntity.Entity.GetType.BaseType, changedEntity.Entity.GetType)
           Case GetType(YourEntityType)
               If changedEntity.State = EntityState.Added OrElse changedEntity.State = EntityState.Modified OrElse changedEntity.State = EntityState.Deleted Then
                  NotifyUser(changedEntity)
               End If
       End Select
   Next 
End Function

Затем вам нужно уведомить пользователя об этом событии (функция NotifyUser).Для этого вы можете использовать SignalR или что-то еще, как написали @Elyas Esna & @Girish.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...