c#实体框架跟踪尚未添加到上下文的实体

c#实体框架跟踪尚未添加到上下文的实体,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我想这个问题很简单。我正在做一些事情,我正在创建实体,然后没有立即将其添加到上下文中,这意味着它的正式更改不会被跟踪 例如: 创建实体: var g=new Foo(){id=1,description=“Object1”} (创建此对象时不会触发任何更改或脏标志) 更改属性: g.description=“Object2” (在这一点上,我想说它很脏) 我能想到的一件事是以某种方式创建对象,然后将其添加到上下文中,然后立即回滚上下文跟踪刚刚添加的对象的事实,然后对该对象的任何进一步更改都将触发

我想这个问题很简单。我正在做一些事情,我正在创建实体,然后没有立即将其添加到上下文中,这意味着它的正式更改不会被跟踪

例如:

创建实体:
var g=new Foo(){id=1,description=“Object1”}
(创建此对象时不会触发任何更改或脏标志)

更改属性:
g.description=“Object2”
(在这一点上,我想说它很脏)

我能想到的一件事是以某种方式创建对象,然后将其添加到上下文中,然后立即回滚上下文跟踪刚刚添加的对象的事实,然后对该对象的任何进一步更改都将触发
context.changeTracker.HasChanges()


这是可能的吗?

使用INotifyPropertyChanged
并创建一个执行事件的
OnPropertyChanged
函数,同时删除列表中所有更改的属性

或者你可以使用更复杂的东西,比如AOP。 例如,使用Castle的动态代理: