C# 基于实体框架推送的变更跟踪

C# 基于实体框架推送的变更跟踪,c#,sql,database,entity-framework,change-tracking,C#,Sql,Database,Entity Framework,Change Tracking,在检测数据库中哪些记录是在某个日期x之后添加的,哪些是在某个日期x之前添加的方面,Entity Framework是否天生支持任何类型的更改跟踪?我知道它支持跟踪实体本身属性的变化,但我认为这有点不同 如果不是在实体框架中,我想知道对于实现这一点的简单方法有什么建议 这种情况下,基于推送的自动数据传输会发生,比如每小时一次,每次推送启动时,服务器必须知道自上次推送以来添加了哪些记录,然后推送这些记录 有人知道一种标准可靠的方法吗?我已经创建了自己的解决方案(查看主键、日期时间列等),但不想重新发

在检测数据库中哪些记录是在某个日期x之后添加的,哪些是在某个日期x之前添加的方面,Entity Framework是否天生支持任何类型的更改跟踪?我知道它支持跟踪实体本身属性的变化,但我认为这有点不同

如果不是在实体框架中,我想知道对于实现这一点的简单方法有什么建议

这种情况下,基于推送的自动数据传输会发生,比如每小时一次,每次推送启动时,服务器必须知道自上次推送以来添加了哪些记录,然后推送这些记录


有人知道一种标准可靠的方法吗?我已经创建了自己的解决方案(查看主键、日期时间列等),但不想重新发明轮子。

我不认为实体框架提供了您想要的东西。我可以想出两种解决方案(假设您使用的是MS SQL Server):

使用列并让更新检查路由使用当前行版本更新另一列。如果更改检查路由再次运行时,rowversion与rowversioncopy不匹配,则您知道它已被修改。这可能是一种可行的方法,具体取决于您处理的行数


另一种方法是在表上使用触发器,并让它们触发您的更改处理。

您要查找的功能正是(针对类似同步的场景跟踪更改的行)和/或(针对更复杂的场景,例如审计,精确跟踪哪些更改,包括数据的更改前图像)。对两个at进行了比较,其中还包括这两个地址的主要场景。请注意,“自行滚动”不起作用,因为您需要引擎中的特殊支持来检测某些类型的更改,或者防止可能导致中断更改跟踪的操作


实体框架与这些操作无关。

谢谢,我会检查文档的。如果有一个T-SQL查询可以告诉我一行是何时添加到数据库中的,您是否知道这一点?我无法修改正在使用的表的模式,因此使用EF。我想我不能添加行版本列。