簡體   English   中英

C# EF 6.0 - 在添加到上下文 collections 的對象上更新導航屬性 Collections

[英]C# EF 6.0 - Update Navigation Property Collections on objects added to context collections

將對象添加到上下文表 collections 時,導航屬性 collections(可能是所有導航屬性)不會更新。

例如

Class A 具有 Class B 的集合。 一個新的 B 被添加到 context.B 的集合中,它應該可以根據提供的鍵值從 AB 的集合中檢索。 它可以直接從 context.B 的集合中檢索,但是在調用 context.SaveChanges() 時它不會正確添加到 AB 的集合中(這是問題的症結所在)。

無論何時添加新的 object 來執行 context.B 的集合,缺少哪些配置會觸發 AB 集合的更新? 文檔讓我相信,只要調用 SaveChanges(),它就應該“正常工作”,但絕對不是.

目前,每當我將新的 object 添加到上下文集合中時,我還必須手動將其添加到應該可以自動訪問的其他實體的導航屬性 collections 中。 這使得應該是簡單的代碼變得一團糟,並讓我相信我的設置有問題,或者我正在使用的 EF 中有一個主要錯誤。

埋在另一個類似問題的評論中,是我正在尋找的寶石,它強制重新加載導航屬性 collections。

刷新實體框架集合屬性

stackoverflow.com/questions/9081244/… 使用
context.Entry(myPerson).Collection(p => p.Addresses).CurrentValue.Clear();
context.Entry(myPerson).Collection(p => p.Addresses).Load();

最后一點是我需要的重要功能部分:

context.Entry(myPerson).Collection(p => p.Addresses).Load();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM