Pozwól mi wyjaśnić tytuł.Aktualizacje danych Entity Framework w środowisku wielu użytkowników z centralną bazą danych
Używam Entity Framework Code First w aplikacji (TestApp). Do celów debugowania, TestApp łączy się z bazą danych SQLExpress (centralny serwer bazy danych).
Aby wszystko było proste, baza danych zawiera jedną tabelę "Produkty", a TestApp pokazuje wszystkie "Produkty" z bazy danych w datagrid, a TestApp może dodać/usunąć "Produkt" lub zmodyfikować ProductName.
public class Product {
public int ProductId { get; set; }
public string ProductName { get; set; }
}
public DbSet<Product> Products { get; set; }
Mam na przykład 3 szt., Gdzie TestApp jest zainstalowany i działa (będę je nazwać Client_X). Jeśli dodaję nowy "Produkt" za pośrednictwem Client_1, to nie jest to bezpośrednio widoczne w TestApp w Client_2 i Client_3. Tylko wtedy, gdy Client_2 i Client_3 będą pobierać wszystkie dane ponownie (ręczne odświeżanie), niż widzę nowo dodany rekord.
Co chcę wiedzieć: Jak mogę się dowiedzieć o zmianach w bazie danych za pomocą kodu EF? W jaki sposób Client_2 i Client_3 otrzymają automatycznie aktualizację datagridu, ponieważ nowy element został dodany lub usunięty?
Nie jestem pewien, czy jest o to poproszony zbyt wiele, ale prosty przykładowy projekt lub prosty kod pokazujący to byłoby przydatne.
FYI: Jestem dość nowa w kodzie EF. (Używam .NET 4.0 i kod EF First 4.3.1)
Z góry dziękuję.
Schemat:
Client_3<
\
\
\
\
\>
Client_1 <---> [Central Database] <----> Client_2
Aktualizacja/Edit:
Ok, to jest oczywiste, że sama Entity Framework nie zrobić żadnej synchronizacji pomiędzy wieloma klientami.
Więc będę zadać kolejne pytanie: myślę o pracy aż klient-serwer:
- Aplikacja pojedynczy serwer, który tworzy bazę danych i wykorzystuje najpierw kodu Entity Framework.
Wiele klientów komunikujących się z tym pojedynczym serwerem aplikacji.
Jaki byłby teraz najlepszy sposób, aby upewnić się, że klienci używają tych samych danych i widzą aktualizacje/zmiany dotyczące każdej innej osoby? (byłbym wdzięczny próbki kodu.)
Znaleźliśmy pokrewne pytanie: http://stackoverflow.com/questions/4852564/entity-framework-underlying-data-in-database-change-notification – juFo
Chcę zrobić dokładnie to samo, ale z aplikacją internetową . Mam wiele serwerów internetowych łączących się z tym samym DB - Prasad – Prasad