實體框架6.x與DbContext數據庫第一個基礎模型(使用Devart的Entity Developer構建(雖然我認爲這裏沒有關係))。OnPropertyChanged在添加新記錄時似乎沒有被觸發
數據模型和與其相關的所有業務代碼都在它自己的單獨項目中,並且所有實體都設置爲實現INotifyPropertyChanged和Changing。 PropertyChanged和PropertyChanging事件在每個實體的單獨部分類中處理。
當我編輯一個現有的行od數據時,PropertyChanged事件被觸發,我可以例如根據剛剛更改的那個變化來設置其他字段的值。這一切正如我所期望的那樣。然而,只要我轉向實際上將成爲新記錄的PropertyChanged事件不會被解僱,所以我構建的用於編輯的邏輯更容易不會被新記錄實現。
我已經在PropertyChanged事件上放置了斷點,我發現它在編輯時觸發,但在新行上沒有。
我認爲在某個地方我錯過了一些明顯的東西,但我想不出什麼。任何人都可以啓發我,我需要做些什麼才能將它應用到新記錄以及編輯現有記錄?我在VB一般的代碼,但也明白C#(至少是基本!)
感謝
您是否在註冊初始化時更改了屬性?檢查事件處理程序是否爲空,如果是這種情況,可能是因爲該對象未綁定到UI,因爲屬性更改僅適用於UI。 –
將其固定到實體本身。特定的實體(通常是我嘗試這樣做的第一個實體,這使我做出了一般假設)具有一個不會自動設置的複合主鍵。我正在確保這是首先設置的過程,然後我希望PropertyChanged事件能夠正常工作。 –