2
我使用EF代碼第一次下面的僞代碼:EF代碼優先和緩存
User user = GetFromCache();
Playlist playlist = new Playlist { Name = "name", User = user };
playlistRepository.Add(playlist);
unitOfWork.Commit();
的GetFromCache()方法會檢查用戶是否在緩存中,如果不是它使用存儲庫得到它來自數據庫。如果它在緩存中,則返回它。
當我第一次運行此代碼時一切正常。當我第二次運行它時,它從緩存中提取用戶我得到一個異常:一個實體對象不能被多個IEntityChangeTracker實例引用。
這是爲什麼?
這是否意味着您需要在緩存之前完成對象的使用? –