我正在使用模型優先方法,並且我有一個抽象類MyEntity,它具有幾個帶有屬性[NotMapped]的標誌。我的所有實體都繼承自MyEntity。在ObjectMaterialized事件處理程序的內部,我設置了這些標誌來指示實體是物化的,並且與我的應用程序有關。實體框架6 ObjectMaterialized事件和SaveChanges覆蓋
在我的SaveChanges()重寫中,我調用base.SaveChanges(),然後重置這些標誌。看起來它會導致實體更新數據庫,儘管沒有真正的數據更改。
我的問題是:
這些標誌沒有被映射到數據庫列,爲什麼改變它們造成的實體更新到數據庫?
我試圖將這些標誌放入部分類中,而不是由每個實體繼承的抽象類。看起來這些標記更改仍然會導致實體更新到數據庫。這是爲什麼?
我也嘗試將這些標誌屬性設置爲在base.SaveChanges()之前重置其值之後保持不變。雖然這不會導致數據庫更新,但我的應用程序不能正確運行。這種方法基本上與實體/財產狀態一起玩,以避免更新數據庫。但是它可能導致什麼副作用?