使用基于 DateTime 列的列值获取 LINQ 查询结果
Get LINQ query Result with column value based on DateTime column
我有一个 table 机器详细信息,其中有一个 DateTime 列,我在其中输入相应机器收到的详细信息的日期和时间。
示例数据是这样的
MachineID X Y Z HealthRcvd
M1 X1 Y1 Z1 2022-04-04 10:20:04
M2 X2 Y2 Z2 2022-04-02 10:30:00
M3 X3 Y3 Z3 2022-04-04 10:04:20
现在我想要的输出是当我使用 LINQ 查询获取数据时,比较 HealthRcvd 列中的值并在另一列中显示文本 'Connected' (如果它的值不超过 3早于 3 小时)和 'Disconnected'(如果日期和时间早于 3 小时)
如果在 2022-04-04 11:00:00 获取数据,我需要输出为
MachineID X Y Z Status HealthRcvd
M1 X1 Y1 Z1 Connected 2022-04-04 10:20:04
M2 X2 Y2 Z2 Disconnected 2022-04-02 10:30:00
M3 X3 Y3 Z3 Connected 2022-04-04 10:04:20
我能够生成所需的输出数据,所以如果有人需要,我在这里分享
List<HealthResult> objResp = (from H in Table
select new SearchResult
{
MachineID = H.MachineID,
X = H.X,
Y = H.Y,
Z = H.Z,
Status = (System.Data.Entity.SqlServer.SqlFunctions.DateDiff("minute", H.HealthRcvd, DateTime.Now) <= 30) ? "Connected" : "Disconnected",
HealthRcvd = H.HealthRcvd
}).ToList();
我有一个 table 机器详细信息,其中有一个 DateTime 列,我在其中输入相应机器收到的详细信息的日期和时间。
示例数据是这样的
MachineID X Y Z HealthRcvd
M1 X1 Y1 Z1 2022-04-04 10:20:04
M2 X2 Y2 Z2 2022-04-02 10:30:00
M3 X3 Y3 Z3 2022-04-04 10:04:20
现在我想要的输出是当我使用 LINQ 查询获取数据时,比较 HealthRcvd 列中的值并在另一列中显示文本 'Connected' (如果它的值不超过 3早于 3 小时)和 'Disconnected'(如果日期和时间早于 3 小时)
如果在 2022-04-04 11:00:00 获取数据,我需要输出为
MachineID X Y Z Status HealthRcvd
M1 X1 Y1 Z1 Connected 2022-04-04 10:20:04
M2 X2 Y2 Z2 Disconnected 2022-04-02 10:30:00
M3 X3 Y3 Z3 Connected 2022-04-04 10:04:20
我能够生成所需的输出数据,所以如果有人需要,我在这里分享
List<HealthResult> objResp = (from H in Table
select new SearchResult
{
MachineID = H.MachineID,
X = H.X,
Y = H.Y,
Z = H.Z,
Status = (System.Data.Entity.SqlServer.SqlFunctions.DateDiff("minute", H.HealthRcvd, DateTime.Now) <= 30) ? "Connected" : "Disconnected",
HealthRcvd = H.HealthRcvd
}).ToList();