2009-05-27 1 views
0

Wie der Titel der Frage besagt ... Ich habe eine Datenbank, die ein überholtes Modell verwendet, um Informationen zu speichern ... was bedeutet, dass jedes Mal ein Kunde bearbeitet wird, anstatt zu aktualisieren In der Zeile klickt die Software einfach einen neuen Datensatz in die Datenbank und aktualisiert dann die alten Datensätze, um einen Zeiger auf diesen neuen Datensatz zu haben.Erstelle eine Überschreibungsbedingung in Entity Framework

Ich habe versucht, die 1 <> 1 Beziehung zu zeichnen, aber bin mir nicht sicher, genau, wie man das effektiv zeichnet ... irgendwelche Tipps würden geschätzt werden. Vielen Dank.

+0

Sorry für den Off-Topic-Kommentar, aber das scheint wie ein interessantes Modell, haben Sie einen Link, wo ich mehr darüber lesen kann? Google scheint beim googeln von "Supermodel" nicht hilfreich zu sein. –

+0

Ich nicht. Ich unterstütze ein anderes Paket, und das war ihr Design. Ich arbeite nur innerhalb ihrer Parameter. Ich würde denken, dass Sie, wenn Sie ein gutes Buch über die DB-Verwaltung aufgriffen, die Informationen davon bekommen könnten. –

Antwort

1

Dies ist eine normale 1: 1-Beziehung mit dem FK, der bei jedem Update auf einen neuen Datensatz verweist (was eigentlich eine Einfügung und ein Update ist). Sie müssen nur sicherstellen, dass Sie zuerst einfügen und dann die FK-Referenz auf den neu eingefügten Datensatz aktualisieren.

Abgesehen davon, wenn Sie alte Aufzeichnungen aufbewahren möchten, sollten Sie sie in eine andere Tabelle verschieben, anstatt die vorhandene zu überschwemmen, da diese Datensätze wahrscheinlich veraltet sind und selten auf andere als für Auditing zugegriffen werden muss.

+0

Ich habe den Fehler gemacht ... die Beziehung wird tatsächlich eine 1: N-Beziehung sein, weil alle alten Datensätze mit der neuen ID aktualisiert werden. Ich werde später damit experimentieren, aber ich sollte gut gehen. Ich muss aufhören, spät zu arbeiten ... ähm ... frühmorgens auf Projekte und etwas schlafen;) –