当前位置: 代码迷 >> C# >> Entitfy Framework的DBContext可不可以使用static实现单例,并发多的时候有没有影响
  详细解决方案

Entitfy Framework的DBContext可不可以使用static实现单例,并发多的时候有没有影响

热度:17   发布时间:2016-05-05 04:33:45.0
Entitfy Framework的DBContext能否使用static实现单例,并发多的时候有没有影响?

经测试重复执行10000次
GetAdType 平均时长 15秒
GetAdTypeStatic 平均时长8秒
从这个角度GetAdTypeStatic明显提高了性能。
但是这样会不会造成其他影响,例如在大并发的时候,时候会造成DBContext其他瓶颈?
请大神们赐教。
------解决思路----------------------
很少看到有静态化的~也说不上为什么
你肯自己动手测试~ 已经比很多人好很多了~

我说一下我个人经验
web 和window服务 连接的是同一个数据库~
比如window服务创造的EF没有释放
那么window服务修改的一些数据不会立刻更新到数据库中
而是一直在ef的缓存中,所以web那边读到的不是最新的数据~

但如果你是一个应用的话~你现在都是读~ 如果你用sql更新数据库
那么读到的也不是最新的数据,还是读到ef缓存着的
------解决思路----------------------
DBContext本身是线程安全的,但是你的事务还有数据库的冲突需要你自己解决。
  相关解决方案