/ / Odświeżanie LINQ nie powoduje zmiany Zdarzenia - wpf, linq, linq-sql, binding

Odświeżanie LINQ nie powoduje zmiany Zdarzenia - wpf, linq, linq-sql, binding

Czy to tylko ja, czy zmiany wprowadzone przez odświeżenie danych LINQ DataContext nie skutkują zmianami wydarzeń?

Mam aplikację dla wielu użytkowników, która maprosty system blokowania atomów, aby zapobiec konfliktom. Więc jeśli użytkownik zmienia coś w bazie danych, muszę wywołać Refresh w Datacontext, aby ponownie załadować związane obiekty.

Punkt przerwania w właściwości zawartej w wygenerowanym pliku Designerfile nie jest wywoływany podczas odświeżania tej klasy. Również nie są zgłaszane żadne zdarzenia.

Czy robię coś złego, czy istnieje obejście?

Odpowiedzi:

1 dla odpowiedzi № 1

Zdarzenia Zmienione wydają się reprezentować zmiany w Klasach Danych LTS, które można przechwycić.

Odświeżenie nie jest zmianą, jest tylko nowym (zbiorem) instrukcji SELECT, dlatego nie zgłoszono żadnego zdarzenia Zmieniono.


0 dla odpowiedzi nr 2

Gdy uruchomisz kwerendę Linq w kontekście danych, automatycznie uzyskasz najnowsze zmiany w bazie danych.

Jeśli chcesz zrobić coś podobnego automatycznieodświeżyć ekran użytkownika po zmianie bazy danych, to trzeba zrobić coś innego. Być może wyzwalacz w połączeniu z integracją SQL Server CLR?

Oto linq do przykładowego kodu do tworzenia zarządzanych wyzwalaczy:
Pisanie zarządzanych wyzwalaczy za pomocą C #