更改跟踪 - 最简单的方案

时间:2012-07-11 16:25:56

标签: sql-server c#-4.0 change-tracking cache-dependency

我在ASP.NET C#4中编码。数据库是SQL Server 2012。

我有一个包含2000行和10列的表。我想在内存中加载此表,如果以任何方式更新/插入表,我想从数据库刷新内存中的副本。

我查看了SQL Server更改跟踪,虽然它完成了我需要的工作,但似乎我必须编写相当多的代码来从更改功能中进行选择 - 比我想要的更简单的场景编码我有。

针对此问题的最佳(最简单)解决方案是什么?我是否使用CacheDependency?

1 个答案:

答案 0 :(得分:0)

我目前遇到了类似的问题:我正在实现一个返回包含50多列的表的休息服务,我想在客户端缓存数据以减少流量。

我正在考虑这种实施:

我的所有表都有字段

ID AutoIncrement (primary key)
Version RowVersion (a numeric value that will be incremented 
                    every time the record is updated)

计算"指纹"我使用select

select count(*), max(id), sum(version) from ...

删除记录会更改第一个值,插入第二个值并更新第三个值。

因此,如果三个值中的一个发生变化,我必须重新加载表格。