2

LoginControl在 SQL Server 数据库中有一个表。

我想在添加 30 分钟后自动删除属性。

我在表中有两个属性 (LoginIdToken),LoginControl我想将它们作为一个连续删除。

我刚刚使用 Visual Studio 2012 创建了一个简单的数据库,并通过实体框架访问它。

有什么解决办法吗?*.edmx创建文件时 Visual Studio 中的一些设置?

4

1 回答 1

2

这不是这些任务的完成方式——它们不是在 SQL 中实现的,而是在应用程序的业务逻辑中实现的。

你应该更好:

  1. 向两个表添加时间戳字段,存储插入时间(您甚至可以使用触发器来执行此操作)
  2. 在对受影响的表进行查询时验证时间戳,并丢弃查询中的“太旧”记录
  3. 每天或每小时创建一个定期清理数据库的作业,以清理过时的登录记录。
    • 关于 SQL 服务器:很多人说这是要走的路。这将数据库用于它的本质:处理数据。需要删除陈旧的数据——从这方面来说,应该使用数据库。
      • 它需要使用数据库的调度工具,
      • 代码不在一个地方,如果应用程序代码仅在应用程序中,并且尚未使用数据库功能,则需要更加小心地处理发布
    • 在应用程序中:我更喜欢这个,因为这样所有的逻辑都在一个地方。但这是我个人的看法,也有明显的缺点:
      • 更多应用程序代码,
      • 它需要应用程序中的调度逻辑,如果以前不存在,则必须添加,最重要的是,从长远来看,要注意

关于将清理/清理逻辑放在应用程序现有性质的位置的决定有很多 - 当然还有可用的功能。

于 2013-03-13T12:53:03.823 回答