我正在使用 Effort in memory db 为实体框架编写单元测试。
在一组测试中,EF 部分创建一个对象并将一些现有对象添加到其中的子列表中(想想 Master / Detail)。然后它 SavesChanges
然后在单元测试中,我从 EF 检索记录并检查它是否真的到达那里并且孩子们就位:他们是。
但是,我想确定我不只是从缓存中读取数据,而且它实际上已经被持久化了。所以我清除() DbSet 中的本地缓存。
当我这样做时,我可以检索主记录,但未检索到子记录。
如果我针对 SQL Server 和 Effort 运行代码,这是真的(所以它不是 Effort)。
如果我处理上下文并创建一个新上下文,则相同的方法会正确检索包含子项的数据。
因此,清除本地缓存会干扰数据检索。我已经尝试清除主记录以及子记录的缓存 - 没有区别。
任何建议,将不胜感激。