8,497
社区成员
发帖
与我相关
我的任务
分享
RefreshLinQDataContext dataContext = new RefreshLinQDataContext();
dataContext.DeferredLoadingEnabled = false;//防止foreach时到数据库做增量检查
var _DeviceInfo = dataContext.DeviceInfo.Where(v => v.Stauts == 2).OrderBy(v => v.InfoID).ToList();
var _DeviceParam = dataContext.DeviceParameter.ToList().GroupBy(v => v.InfoID).AsParallel().OrderBy(v => v.Key);
var _DeviceParamProperty = dataContext.DeviceParameterProperty.ToList().GroupBy(v => v.DeviceParamID).AsParallel().OrderBy(v => v.Key);
//到这里用了2秒左右
foreach (var di in _DeviceInfo)
{
di.DeviceParameter.AddRange(_DeviceParam.Single(v => v.Key == di.InfoID));
var dsfs = _DeviecSafeTime.SingleOrDefault(v => v.Key == di.InfoID);
foreach (var dp in di.DeviceParameter)
{
dp.DeviceParameterProperty.AddRange(_DeviceParamProperty.Single(v => v.Key == dp.DeviceParamID));
}
}