使用基于 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();