2009-03-13 8 views
0

Informations générales:Date de modification dans l'application ASP.Net MVC

  1. ASP.NET MVC application

  2. à l'aide de ADO.NET Entity Framework

  3. SQL Server 2005

J'ai quelques tables qui ont plus ou moins une structure hiérarchique de la plupart - à-plusieurs relations. La plupart, sinon la totalité, ont une colonne Dernière modification et ma question est simplement la meilleure façon de s'assurer que cette colonne est correctement mise à jour dans la hiérarchie. Je préférerais l'avoir fait au niveau de la base de données automatiquement, je ne suis pas sûr de savoir comment. Un collègue a mentionné les déclencheurs tout en mentionnant qu'ils n'étaient peut-être pas la meilleure solution. Je ne sais pas si je dois le faire dans la classe que j'utilise pour gérer le modèle ou au niveau de la base de données. Je préférerais ne pas avoir à mettre à jour chaque référence individuellement car cela devient fastidieux et je devrais faire un tas de fonctions séparées pour chaque niveau.

Mes questions sont donc:

  1. Est-il possible de le faire au niveau de la base de données avec une procédure stockée que je pourrais appeler?

  2. Si ce n'est pas le cas, que suggéreriez-vous que je fasse du côté de l'application afin de gérer au mieux ce programme?

Si plus d'information serait utile, je serai heureux de fournir, j'ai eu un moment difficile à essayer de comprendre comment même poser cette question.

Répondre

1

Cela dépend de l'endroit où vous voulez que votre pénalité soit. Vous pouvez l'avoir de deux façons.

  • Utilisez un déclencheur pour propager les modifications de votre hiérarchie. Cela pourrait être mieux quand vous écrivez une fois et lisez beaucoup. Par exemple: Mettre à jour une adresse et la dernière modification est définie sur les enregistrements parents ainsi que l'adresse elle-même. Il suffit de mettre à jour une dernière modification et d'effectuer une requête pour tout quand vous avez besoin de voir quand quelque chose a été modifié. Cela pourrait être mieux si vous écrivez beaucoup, mais lisez très peu. Par exemple: Ne mettre à jour que la dernière modification sur une adresse. Lorsque vous recherchez des enregistrements modifiés, recherchez les enregistrements dont la dernière modification a été effectuée ou les enregistrements dont la dernière modification a été effectuée.

C'est difficile à dire sans connaître votre situation. Si vous avez besoin de mettre à jour toutes les dates de dernière modification liées, alors je passerais par la voie de déclenchement juste pour garder les choses simples.

Questions connexes