2013-03-14 45 views
2

我想在每次将项目添加到DbSet时执行方法。每次将项目添加到集合时执行方法

这可能没有调用此方法分开每次?

+0

有你累已经有一些事情... – Mingebag 2013-03-14 10:02:37

+0

没有,我没有办法,我不知道这甚至有可能 – daniel 2013-03-14 10:03:30

+1

请澄清什么是DbSet。如果它只是一个简单的列表然后继承列表并重写添加功能 – Fendy 2013-03-14 10:05:10

回答

1

DbSet有一个属性“Local”,它是一个ObservableCollection。您可以在此订阅CollectionChanged以查看何时添加了内容。

因此,像:

this.ttActivities.Local.CollectionChanged += ttActivitiesChanged; 


public void ttActivitiesChanged(object sender, NotifyCollectionChangedEventArgs args) 
{ 
    if (args.Action == NotifyCollectionChangedAction.Add) 
    { 
    // Something has been added 
    } 
} 
+0

我有'公共DbSet ttActivities {get;组; }'在我的DbContext派生类中。我该如何将事件添加到它? – daniel 2013-03-14 10:30:24

+1

@zoidbergi我已经更新了我的代码示例,因为您是从DbContext派生的,所以应该可以使用this.ttActivities.Local.CollectionChanged来挂钩事件。 – Dutts 2013-03-14 10:33:50

+0

不幸的是,当创建/加载ttActivites时会触发此事件。有没有办法避免这种情况? – daniel 2013-03-14 11:07:55

相关问题