EF4缓存刷新问题
当new 一个dbcontext后,调用find()方法获取了一个实体A,如果此时另一客户端修改了实体A并提交了数据库,此时再用当前dbcontext重新find()这个实体发现属性没有被刷新,也就是说dbcontext建立的缓存没有刷新,怎么解决这个问题?
[解决办法]
没有这个机制。如果有,它往往也是一个bug满天飞、效率降低100倍的东西。
你可以也想想你用ado.net读取数据时遇到这种情况怎么编程的问题。
当你使用context查询,然后处理(比如说更新),那么就要保证尽快完毕。比如说在500毫秒之内完毕。或者以“悲观并发”的方式而开启数据库事务(这样就阻塞了“另一客户端读取实体A”的操作)