Я работаю над программой Delphi, которая использует базу данных Firebird для хранения своих данных. Используется доморощенный о.р.м. система. Когда два пользователя смотрят на одни и те же данные, например в сетке данных, и один из них что-то меняет, другой экран обновляется немедленно.
Это работает так, что объекты в одной программе сохраняют себя в базе данных. База данных имеет триггер, который регистрирует это изменение во вспомогательной таблице журнала изменений. Запись в эту таблицу журнала изменений вызывает событие. Вторая программа прослушивает это событие и знает из записи в таблице журнала изменений, какой объект был изменен. Он перезагрузит этот объект и вызовет событие внутри этой программы. Это событие приведет к обновлению всех экранов, на которых отображается этот объект, и всех объектов, основывающих свое поведение на этом объекте.
Мы хотели бы перейти на .Net и, возможно, MS SQL.
Мой вопрос:
1) Как мне сделать это с MS SQL?
2) Есть ли рамки, которые поддерживают это? Поэтому мне не нужно переносить это на .Net