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