Frage

Allgemeine Informationen:

  1. ASP.NET MVC-app

  2. mit ADO.NET Entity Framework

  3. SQL Server 2005

Ich habe ein paar Tabellen, die eine hierarchische Struktur von meist eine Eins-zu-viele-Beziehungen haben mehr oder weniger. Die meisten, wenn nicht alle von ihnen haben eine Last Modified Spalte und meine Frage ist einfach, wie am besten darum, dass zu gehen, dass diese Spalte in der gesamten Hierarchie ordnungsgemäß aktualisiert wird. Ich würde es vorziehen, es automatisch auf Datenbankebene getan zu haben, ich bin nur nicht sicher, wie. Ein Kollege erwähnte Auslöser, während zur gleichen Zeit zu erwähnen, dass sie nicht der beste Weg zu gehen sein könnten. Ich weiß nicht, ob dies innerhalb der Klasse zu tun, ich bin mit dem Modell oder auf Datenbankebene zu verwalten. Ich würde es vorziehen, nicht zu haben, zu halten jede einzeln Referenz Aktualisierung wie langweilig wird und ich würde ein paar getrennten Funktionen für jede Ebene machen.

Meine Fragen dann sind:

  1. Gibt es eine Möglichkeit, dies auf Datenbankebene mit einer gespeicherten Prozedur zu tun, ich nennen könnte?

  2. Wenn nicht, was würden Sie vorschlagen, mich auf der Anwendungsseite der Dinge am besten damit umgehen programmatisch?

Wenn mehr Informationen hilfreich seien, ich werde glücklich sein, es zu schaffen, hatte ich eine schwierige Zeit, um herauszufinden, wie auch diese Frage stellen.

War es hilfreich?

Lösung

Eine andere Person hatte die gleiche / ähnliche Frage hier. Ihre Meinung einen Trigger verwenden. Hier ist die vollständige Antwort: SQL Server (Entity Framework): created_at, updated_at Spalten

Andere Tipps

Es hängt davon ab, wo Sie wollen Ihre Strafe zu sein. Sie können es eine von zwei Möglichkeiten haben.

  • einen Trigger verwenden, um Änderungen zu propagieren Hierarchie nach oben. Dies könnte am besten sein, wenn Sie einmal schreiben und viel gelesen. zB: eine Adresse aktualisieren und die letzte auf dem übergeordneten Datensätze geändert wird eingestellt, sowie die Adresse selbst.

  • Aktualisieren Sie einfach ein letztes geändert und dann für alles abfragen, wenn Sie sehen müssen, wenn etwas geändert wurde. Dies könnte am besten, wenn man viel schreiben, aber sehr wenig lesen. zB: Aktualisieren Sie können nur die letzte an einer Adresse geändert. Wenn Sie abfragen für geänderte Datensätze, Abfragen für Datensätze, die eine letzte Änderung oder Datensätze mit Adressen haben, die eine zuletzt geändert haben.

Es ist schwer zu sagen, ohne Ihre Situation zu kennen. Wenn Sie alle damit verbundenen letzten geänderten Daten aktualisieren müssen, dann würde ich die Trigger-Weg gehen nur die Dinge einfach zu halten.

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