Administrator 3 months ago
parent
commit
ecd78d8f6b
  1. 12
      UserClass/AsyncTcpServer.cs

12
UserClass/AsyncTcpServer.cs

@ -168,7 +168,7 @@ namespace SunlightAggregationManager.UserClass
Console.WriteLine("TCP SERVER:START"); Console.WriteLine("TCP SERVER:START");
} }
public static string Command(string dat) public static string Command(string dat)//
{ {
string Command="", ret =""; string Command="", ret ="";
@ -176,7 +176,7 @@ namespace SunlightAggregationManager.UserClass
var deserialized = JsonSerializer.Deserialize<Dictionary<string, object>>(dat)!; var deserialized = JsonSerializer.Deserialize<Dictionary<string, object>>(dat)!;
if (deserialized.TryGetValue("Command", out var val) && val != null) Command = val.ToString()!; if (deserialized.TryGetValue("Command", out var val) && val != null) Command = val.ToString()!;
if (Command == "Info") if (Command == "Info")//回复info请求的信息
{ {
var t = ToList(MainWindowViewModel._machines).ToJsonString(); var t = ToList(MainWindowViewModel._machines).ToJsonString();
@ -189,7 +189,7 @@ namespace SunlightAggregationManager.UserClass
return ret; return ret;
} }
public static List<Dictionary<string, object>> ToList(DataTable table) public static List<Dictionary<string, object?>>? ToList(DataTable table)//datatable转list
{ {
if (table == null) return null; if (table == null) return null;
@ -198,7 +198,11 @@ namespace SunlightAggregationManager.UserClass
return table.AsEnumerable().Select(row => return table.AsEnumerable().Select(row =>
table.Columns.Cast<DataColumn>().ToDictionary( table.Columns.Cast<DataColumn>().ToDictionary(
col => col.ColumnName, col => col.ColumnName,
col => row[col] col => {
var value = row[col];
// 核心修改:如果是数据库空值 DBNull.Value,则转为 C# 的 null,否则保持原值
return value == DBNull.Value ? null : value;
}
) )
).ToList(); ).ToList();
} }

Loading…
Cancel
Save