Frage

Kann mir jemand in die richtige Richtung weisen einen PK Konflikt Fehler in c # .NET Sync Framework für die Handhabung.

Ich versuche, zwischen SQL Server 2008 und lokalen Daten-Cache-Datenbank (.sdf) und behalten mag beiden Reihen zu synchronisieren, die in Server und Client sind widersprüchlich und nicht zulassen, dass entweder der Server oder Client gewinnen?

Ich erhalte einen pk Konfliktfehler, wenn ich eine neue Zeile in dem Server und Client einfügen, die die gleiche PK-ID haben.

Irgendwelche Vorschläge wären dankbar.

Danke

War es hilfreich?

Lösung 2

Dies wird durch die Verwendung einer GUID für die PK anstelle eines mit automatischer Erhöhung int gelöst.

Damit ist gewährleistet, dass jede Zeile vom Server oder einem beliebigen Client eingesetzt wird einzigartig und funktioniert sehr gut.

Es gibt einige Nachteile, wie zusätzlichen Speicherplatz und Zeit es braucht, etc zu suchen, aber das ist etwas, was ich bin bereit, mit zu leben (und ich werde die Daten filtern, dass der Kunde bekommt die Leistung wird dazu beitragen, verbessern).

Vielen Dank allen für Ihre Hilfe.

Andere Tipps

Allgemeines Prinzip für diese Art von Problem ist, eine Spalte für einen natürlichen Schlüssel zu haben. Die Idee ist, dass der Primärschlüssel eindeutig eine Zeile in einer Tabelle identifiziert, während die natürlichen Schlüssel eindeutig ein Objekt identifiziert, dass die Zeile beschreibt. Im Fall eines Konflikts, den Server gewinnen lassen und eine neue Zeile auf der Client-Seite einzufügen. Neue PK wird ausgestellt, aber der natürliche Schlüssel bleibt gleich. Später ist es einfach, diese Zeilen, die von der Bestellung durch den natürlichen Schlüssel zu finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top