fix: 新增设备后变量页面打开报错

This commit is contained in:
iioter 2024-10-10 09:19:51 +08:00
parent 5ab6c3e190
commit 2bc9fcc357
2 changed files with 27 additions and 27 deletions

View File

@ -36,7 +36,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs
{
var deviceService = Wtm.ServiceProvider.GetService(typeof(DeviceService)) as DeviceService;
deviceService.DrvierManager.AddConfigs(this.Entity.ID, this.Entity.DriverId);
var device = DC.Set<Device>().Where(x => x.ID == Entity.ID).Include(x=>x.Parent).Include(x => x.Driver).SingleOrDefault();
var device = DC.Set<Device>().Where(x => x.ID == Entity.ID).Include(x => x.Parent).Include(x => x.Driver).Include(x => x.DeviceVariables).SingleOrDefault();
deviceService.CreateDeviceThread(device);
var myMqttClient = Wtm.ServiceProvider.GetService(typeof(MyMqttClient)) as MyMqttClient;

View File

@ -116,7 +116,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs
var threadDeviceIds = deviceService?.DeviceThreads.Select(x => x.Device.ID).Distinct(x => x);
//设备线程中的变量
var threadVariables =
deviceService?.DeviceThreads.SelectMany(deviceThread => deviceThread.Device.DeviceVariables);
deviceService?.DeviceThreads.Where(x => x.Device.DeviceVariables != null).SelectMany(deviceThread => deviceThread.Device.DeviceVariables);
//查找数据库中额外的变量
var dcVariables = DC.Set<DeviceVariable>().AsNoTracking().Include(x => x.Device)
.Where(x => !threadDeviceIds.Contains((Guid)x.DeviceId)).AsEnumerable();