代码之家  ›  专栏  ›  技术社区  ›  SiberianGuy

实体框架更改跟踪

  •  2
  • SiberianGuy  · 技术社区  · 14 年前

    是否有任何方法可以跟踪ASP.NET应用程序上下文之间的EF实体更改?

    自我跟踪实体不适合我,因为它主要是为WCF设计的。我发现的所有跟踪POCO更改的方法都是面向共享上下文的。

    2 回复  |  直到 10 年前
        1
  •  2
  •   Community nesinervink    7 年前

    不,您必须自己跟踪更改,或者必须使用ste并在回发之间将它们存储在viewstate/session中。

    编辑: 如果使用简单实体,可以使用一些方法来跟踪更改,但首先必须从数据库加载实体(=附加数据库查询)。然后,您可以使用ObjectContext实例的applycurrentValues方法。这个应用程序不适用于 updating object complex graphs.

        2
  •  0
  •   Mike Vonn    10 年前

    我建议使用SQL Server内置的更改跟踪( http://technet.microsoft.com/en-us/library/cc280462(v=sql.105).aspx )此框架允许您标识给定的行是否已更改,或者即使列已更改。从什么时候起,你就需要设法解决改变的问题。SQL Server中的更改跟踪是通过将表和所需的'since when'修订号传递到change table函数来完成的。( http://technet.microsoft.com/en-us/library/bb934145.aspx )可以使用此函数的结果来确定上次更改表的时间以及表的主键。据我所知,您只能将它与定义了主键的表一起使用。然后可以创建表值函数或返回已更改记录的视图。使用实体框架,这两者都很容易使用。