2013-03-14 62 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

相關問題