2
我讀過,在實體框架的早期版本中,你有機會訪問一個Reload()
方法,像這樣的:Db.Entry<DatabaseModels.User>(_me).Reload();
如何在實體框架7中重新加載模型?
我從說EntityEntry不包含「刷新」的定義得到一個錯誤。
我甚至想重新加載的原因是來自緩存(或者我認爲是緩存,而EF可能不知道何時使緩存無效)。
示例:
加載userA。
創建userA將擁有的項目。
嘗試通過用戶關係訪問該新項目。 userA.Items返回空
從數據庫中重新獲取userA,並調用關係,並且新創建的項目處於關聯中。
不知道爲什麼會發生這種情況,或者是否有辦法讓EF對緩存失效感到興奮。
難道你不能直接添加項目到userA嗎? 'Item myItem = new Item(...); userA.Items.Add(myItem); context.SaveChanges();'你也確定你沒有禁用代理創建? –
我如何知道我是否禁用了代理創建? – NullVoxPopuli
'context.Configuration.ProxyCreationEnabled'必須爲真 –