2
我使用EF代码第一次下面的伪代码:EF代码优先和缓存
User user = GetFromCache();
Playlist playlist = new Playlist { Name = "name", User = user };
playlistRepository.Add(playlist);
unitOfWork.Commit();
的GetFromCache()方法会检查用户是否在缓存中,如果不是它使用存储库得到它来自数据库。如果它在缓存中,则返回它。
当我第一次运行此代码时一切正常。当我第二次运行它时,它从缓存中提取用户我得到一个异常:一个实体对象不能被多个IEntityChangeTracker实例引用。
这是为什么?
这是否意味着您需要在缓存之前完成对象的使用? –