【问题标题】:Automatically update Last Modified Date in ASP.Net MVC app在 ASP.Net MVC 应用程序中自动更新上次修改日期
【发布时间】:2009-03-13 01:41:21
【问题描述】:

一般信息:

  1. ASP.NET MVC 应用程序

  2. 使用 ADO.NET 实体框架

  3. SQL Server 2005

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

那么我的问题是:

  1. 有没有办法在数据库级别使用我可以调用的存储过程来做到这一点?

  2. 如果不是,您建议我在应用程序方面做些什么来最好地以编程方式处理这个问题?

如果有更多信息有帮助,我很乐意提供,我很难弄清楚如何问这个问题。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这有帮助,尤其是关于多应用程序访问的合理化。
    【解决方案2】:

    这取决于你希望你的惩罚在哪里。您可以通过以下两种方式之一获得它。

    • 使用触发器将更改向上传播。当您只写一次并大量阅读时,这可能是最好的。例如:更新地址并在父记录以及地址本身上设置最后修改。

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

    不知道你的情况很难说。如果您需要更新所有相关的最后修改日期,那么我会走触发路线以保持简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-14
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多