使用Entity Framework

时间:2018-05-24 09:28:26

标签: entity-framework entity-framework-6

我正在使用Entity Framework,我有一个表,用于记录第三方生成的一些事件。这些活动有效期为3天。所以我喜欢清除任何超过3天的事件,以保持我的数据库表更精简。无论如何我能做到吗?某些方法在清理过程中不会导致任何性能问题。

2 个答案:

答案 0 :(得分:0)

如上所述,有一些选择:

1)定义映射到EF的存储过程。您可以使用Quarts Trigger及时执行此方法。

https://www.quartz-scheduler.net

2)SQL Server代理作业,它在最低峰时间每天运行并删除您的行。

https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-2017

如果只有清洁目的所需的方法,我建议你选择2

答案 1 :(得分:0)

首先。确保第三方在每条记录上写下时间戳,这样您就可以跟踪记录的年龄。

然后。创建一个脚本,删除超过3天的所有记录。

从你的桌面删除WHERE DATEDIFF(day,getdate(),thatColumn)< -3

现在在SQL management Studio中创建一个计划任务:

在SQL Management Studio中,导航到服务器,然后展开SQL Server Agent项,最后展开Jobs文件夹以查看,编辑,添加预定作业。

将脚本设置为每天运行一次或不管你喜欢什么:)