我注意到,处理和重新创建DataContext比使用RefreshMode.OverwriteCurrentValues
刷新它更快,这应该是有效的。
虽然这会导致我的应用程序在100%CPU上飙升几秒钟
dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Property);
以下代码甚至不占用50%的CPU并且大约需要一秒钟:
dbc.Dispose();
dbc = new PropertyManagementDataContext();
同时还覆盖我所有的本地更改,只是从数据库更新我的本地数据。或者我忽略了什么?
为了从数据库中获取最新数据,是否存在处置和重新创建DataContext的危险?
答案 0 :(得分:1)
Refresh()实际上是对数据库的往返。处置和重新创建上下文是使用本地缓存的连接信息。这会更快。
编辑:
另外,根据docs你可能因为错误的原因而使用Refresh()。看到底部的评论。