In einer Mehrbenutzerumgebung: Wie stellen Sie sicher, dass alle Clients ihre Änderungen sehen? Was ist der beste Weg, dies zu tun?Technik (en) in einer C# -Multibenutzeranwendung, in der alle Clients ihre Daten aus einer zentralen Datenbank aktuell haben
In der Vergangenheit habe ich eine C# -Anwendung erstellt und auf 2 PCs installiert. Es wurde mit einem zentralen SQL Express-Server verbunden (die Client-Anwendung arbeitete mit Entity Framework Code First als ORM). Wenn client1 einen Datensatz zur Datenbank hinzugefügt hat, war dies nicht direkt sichtbar für client2. Nur wenn client2 alle Daten erneut abgerufen hat (hard refresh), war die Änderung sichtbar.
Jetzt suche ich nach einer Lösung, wie diese 'Synchronisierung' (?) Durchgeführt werden kann oder sollte. Ich mag es, Entity Framework Code zu arbeiten. Zuerst wäre es schön, wenn eine Lösung dies halten könnte. Auch die Anwendung ist noch in einem sehr frühen Stadium. Ich dachte, ich hätte eine zentrale Datenbank und mehrere Clients, aber ich bin mir nicht sicher, ob das eine gute Lösung ist. Wenn Ihre Vorschläge/Lösungen eine zentrale Server-Anwendung erfordern, mit der sich die Clients verbinden (und wo die Server-Anwendung die Datenbank bearbeitet), wäre dies kein Problem.
Wenn möglich, wäre eine grundlegende Beispiellösung oder ein einfacher Code, der zeigt, wie man immer mit den neuesten Daten arbeitet, sehr hilfreich!
ähnliche Fragen:
- Entity Framework - Underlying data (in database) change notification
- Entity Framework data updates in a multi-user environment with central database
- Entity framework data context not in sync with database?
Vielen Dank im Voraus
danke für Ihren Vorschlag. Persönlich fühlt sich das nicht wie eine gute Art zu arbeiten an. Die Client-Anwendung lädt alle Daten (wegen eines Rasters und um das Raster zu durchsuchen), das bedeutet, dass eine lokale Datenbank eine vollständige Kopie eines SQL (Express) Servers hat. Dort sehe ich bereits Einschränkungen (z. B. max Datenbank-Site von localDB vs SQL Server vs SQL Express). Irgendwelche anderen Vorschläge? – juFo