Nie do końca pewna, jak wyrazić to pytanie, ale tutaj jest. Pracuję nad projektem, w którym wiele aplikacji klienckich uzyskuje dostęp do jednego źródła danych za pośrednictwem usługi WCF. Może on nie być odpowiedni, ale usługa WCF korzysta z struktury encji, aby uzyskać dostęp do tego źródła danych. Ilekroć klient zapytał o rekord do edycji, chciałbym zapobiec temu, aby ten sam rekord był edytowany przez resztę klientów, dopóki pierwszy klient nie zakończy ich aktualizacji.Najlepsza praktyka blokowania rekordu do edycji podczas korzystania z struktury encji
Popraw mnie, jeśli się mylę, ale uważam, że jest to tak zwany synchroniczny i asynchroniczny dostęp do danych.
Moje pytanie brzmi, jaka jest najlepsza praktyka w branży do wdrożenia tej funkcji. Czy istnieje sposób kontrolowania tego od strony bazy danych (przy użyciu SQL) lub czy musi to być wykonywane przez klienta?
Rozważałem dodanie boolowskiej kolumny "EditMode" dla każdej tabeli i ustawienie jej na wartość true podczas edytowania i sprawdzenie, czy jest ustawiona na wartość true, zanim inny klient uzyska dostęp do tego rekordu.
Dziękuję, to wydaje się być dokładnie tym, czego potrzebowałem. Po prostu nie byłem pewien, jak to się nazywa, aby samodzielnie przeprowadzić badania. –
@phil soday - Jeśli używasz najpierw kodu i wstawiasz tę linię do swojej domeny, czy automatycznie wie, jak zablokować wiersz? Czy to musi być nazywane RowVersion? Czy rzuca wyjątek lub jak działa? – chobo2
To wydaje się być tym, czego potrzebuję i jak długo nie używam kodu. Nadal używam EF5 edmx jest ich sposobem implementacji, co się dzieje, gdy użytkownik b dokonuje zmiany, zanim użytkownik zapisuje – rogue39nin