entity framework 缓存干扰的数据不一致问题

本来EF的设计上DbContext就应该是一个短暂存在的对象,所以它默认才开了缓存和自动检测对象修改之类的功能,而且不是线程安全的。理想的生命周期应该是处理一次请求使用一个context,全局使用会带来很多问题。

1、对于即时性要求比较高的数据,每次手动创建一个context新实例来操作数据;

2、避免在死循环里面使用CallContext.GetData()线程槽技术,循环里面线程得不到释放,导致context缓存也得不到释放,如果一定要用的话,采用.AsNoTracking();

上一篇:发布b3log-solo后,访问http://localhost:8080/b3log-solo/提示错误为staticServePath Error。


下一篇:【互联网那些事儿】小度 i 耳目