Обновление LINQ не приводит к измененным событиям - PullRequest
0 голосов
/ 15 июля 2009

Это только я или изменения, произведенные обновлением LINQ DataContext, не приводят к измененным событиям?

У меня есть многопользовательское приложение, которое имеет простую систему блокировки Atomar для предотвращения конфликтов. Поэтому, если пользователь что-то изменяет в базе данных, мне нужно запустить обновление для Datacontext, чтобы перезагрузить соответствующие объекты.

Точка останова в свойстве, содержащемся в сгенерированном файле Designerfile, не вызывается при обновлении этого класса. Также нет никаких событий.

Я что-то не так делаю или есть обходной путь?

Ответы [ 2 ]

1 голос
/ 15 июля 2009

Измененные события, по-видимому, представляют собой изменения в классах данных LTS, которые вы можете перехватить.

Обновление - это не изменение, это просто новый (набор) операторов SELECT, поэтому событие Changed не генерируется.

0 голосов
/ 15 июля 2009

Когда вы запускаете запрос Linq для контекста данных, вы автоматически получаете последние изменения в базе данных.

Если вам нужно что-то вроде автоматического обновления экрана пользователя при изменении базы данных, вам нужно сделать что-то еще. Возможно, триггер в сочетании с интеграцией SQL Server CLR?

Ниже приведен пример кода для создания управляемых триггеров:
Написание управляемых триггеров с использованием C #

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