自动更新ASP.Net MVC应用程序中的上次修改日期

时间:2009-03-13 01:41:22

标签: sql asp.net-mvc entity-relationship

一般信息:

  1. ASP.NET MVC应用

  2. 使用ADO.NET实体框架

  3. SQL Server 2005

  4. 我有一些表或多或少具有主要是一对多关系的层次结构。大多数(如果不是全部)都有一个Last Modified列,我的问题就是如何最好地确保在整个层次结构中正确更新此列。我宁愿自动在数据库级别完成它,我只是不确定如何。一位同事提到触发器,同时提到他们可能不是最佳方式。我不知道是否在我用来管理模型或数据库级别的类中执行此操作。我不想单独更新每个引用,因为这会变得乏味,而且我必须为每个级别制作一堆单独的函数。

    我的问题是:

    1. 有没有办法在数据库级别使用我可以调用的存储过程执行此操作?

    2. 如果没有,您建议我在应用程序方面做些什么来以最佳方式处理此问题?

    3. 如果有任何更多的信息会有所帮助,我会很乐意提供它,我很难找到如何提出这个问题。

2 个答案:

答案 0 :(得分:1)

另一个人在这里有同样/类似的问题。他们的意见使用触发器。这是完整的回复: Sql Server (Entity Framework): created_at , updated_at Columns

答案 1 :(得分:1)

这取决于你想要惩罚的地方。你可以用两种方式之一。

  • 使用触发器在层次结构中传播更改。当你写一次并阅读很多时,这可能是最好的。例如:更新地址,并在父记录和地址本身上设置最后修改的内容。

  • 只需更新上次修改后的内容,然后在需要查看修改内容时查询所有内容。如果你写了很多,这可能是最好的,但读得很少。例如:仅更新地址上的最后修改。查询已更改的记录时,查询具有上次修改的记录或具有上次修改的地址的记录。

如果不了解你的情况,很难说。如果你需要更新所有相关的最后修改日期,那么我会采用触发路线来保持简单。