如何解决实体框架基于推送的更改跟踪
| 在检测数据库中的哪些记录在某个日期x之后添加以及哪些记录在某个日期x之前添加时,Entity Framework是否固有地支持任何类型的更改跟踪?我知道它支持跟踪实体本身属性的更改,但是我认为这有点不同。 如果不在Entity Framework中,我想知道对于实现此目标的简单方法会建议什么。 场景将是发生基于自动推送的数据传输,例如每小时一次,并且每次启动一次推送时,服务器都必须知道自上次推送以来已添加了哪些记录,并进行推送。 有谁知道标准和可靠的方法吗?我已经创建了自己的解决方案(监视主键,DateTime列等),但不想重蹈覆辙。解决方法
您要查找的功能是“更改跟踪”(完全跟踪更改以进行类似情况的同步行)和/或“更改数据捕获”(精确地跟踪哪些更改,包括更复杂的情况(例如审计)的更改前数据映像)。比较变更数据捕获和变更跟踪中有两个比较,其中还涵盖了这两个地址中每个地址的主要方案。请注意,“自己动手”不起作用,因为您需要引擎中的特殊支持来检测某些类型的更改,或者阻止可能导致更改更改跟踪的操作。
实体框架与这些操作无关。
, 我认为Entity Framework无法提供您想要的东西。我可以想到两个解决方案(假设您正在使用MS SQL Server):
使用rowversion列,并使更新检查路由使用当前rowversion更新另一列。如果在再次运行更改检查路由时,该行版本与您知道已被修改的行版本副本不匹配。根据您要处理的行数,这可能是可行的方法,也可能不是可行的方法。
另一种方法是在表上使用触发器,并让它们触发更改处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。