提交 849ac9cb 编写于 作者: 麦壳饼's avatar 麦壳饼

修复 空值问题

上级 8fce56fa
...@@ -57,7 +57,7 @@ namespace IoTSharp.Extensions ...@@ -57,7 +57,7 @@ namespace IoTSharp.Extensions
{ {
try try
{ {
if (kp.Key != null) if (kp.Key != null && kp.Value !=null)
{ {
var tl = from tx in devdata where tx.KeyName == kp.Key && tx.DataSide == dataSide select tx; var tl = from tx in devdata where tx.KeyName == kp.Key && tx.DataSide == dataSide select tx;
if (tl.Any()) if (tl.Any())
...@@ -74,6 +74,10 @@ namespace IoTSharp.Extensions ...@@ -74,6 +74,10 @@ namespace IoTSharp.Extensions
t2.FillKVToMe(kp); t2.FillKVToMe(kp);
} }
} }
else
{
exceptions.Add($"Key:{ kp.Key}","Key is null or value is null");
}
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -123,8 +127,6 @@ namespace IoTSharp.Extensions ...@@ -123,8 +127,6 @@ namespace IoTSharp.Extensions
} }
internal static void FillKVToMe<T>(this T tdata, KeyValuePair<string, object> kp) where T : IDataStorage internal static void FillKVToMe<T>(this T tdata, KeyValuePair<string, object> kp) where T : IDataStorage
{ {
switch (Type.GetTypeCode(kp.Value.GetType())) switch (Type.GetTypeCode(kp.Value.GetType()))
{ {
case TypeCode.Boolean: case TypeCode.Boolean:
......
...@@ -91,9 +91,12 @@ namespace IoTSharp.Storage ...@@ -91,9 +91,12 @@ namespace IoTSharp.Storage
{ {
msg.MsgBody.ToList().ForEach(kp => msg.MsgBody.ToList().ForEach(kp =>
{ {
var tdata = new TelemetryData() { DateTime = DateTime.Now, DeviceId = msg.DeviceId, KeyName = kp.Key, Value_DateTime = new DateTime(1970, 1, 1) }; if (kp.Value != null)
tdata.FillKVToMe(kp); {
_dbContext.Set<TelemetryData>().Add(tdata); var tdata = new TelemetryData() { DateTime = DateTime.Now, DeviceId = msg.DeviceId, KeyName = kp.Key, Value_DateTime = new DateTime(1970, 1, 1) };
tdata.FillKVToMe(kp);
_dbContext.Set<TelemetryData>().Add(tdata);
}
}); });
var result1 = await _dbContext.SaveAsync<TelemetryLatest>(msg.MsgBody, msg.DeviceId, msg.DataSide); var result1 = await _dbContext.SaveAsync<TelemetryLatest>(msg.MsgBody, msg.DeviceId, msg.DataSide);
result1.exceptions?.ToList().ForEach(ex => result1.exceptions?.ToList().ForEach(ex =>
......
...@@ -104,9 +104,12 @@ namespace IoTSharp.Storage ...@@ -104,9 +104,12 @@ namespace IoTSharp.Storage
var lst = new List<TelemetryData>(); var lst = new List<TelemetryData>();
msg.MsgBody.ToList().ForEach(kp => msg.MsgBody.ToList().ForEach(kp =>
{ {
var tdata = new TelemetryData() { DateTime = DateTime.Now, DeviceId = msg.DeviceId, KeyName = kp.Key, Value_DateTime = new DateTime(1970, 1, 1) }; if (kp.Value != null)
tdata.FillKVToMe(kp); {
lst.Add(tdata); var tdata = new TelemetryData() { DateTime = DateTime.Now, DeviceId = msg.DeviceId, KeyName = kp.Key, Value_DateTime = new DateTime(1970, 1, 1) };
tdata.FillKVToMe(kp);
lst.Add(tdata);
}
}); });
int ret = db.Insert(lst); int ret = db.Insert(lst);
_logger.LogInformation($"新增({msg.DeviceId})遥测数据{ret}"); _logger.LogInformation($"新增({msg.DeviceId})遥测数据{ret}");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册