如何使用 linq 实体 select 仅 sql table 中的最后一个条目

How to select only the last entry from sql table using linq entity

我有一个 table 存储在会议期间显示 on-screen 会议 ID 的公告,现在我的雇主希望我添加一个按钮,无论房间 ID 如何,都可以向所有会议室发送公告,我在 table 上保存这样的公告,在名称 IsAll 下的位值为 true 或 false,所以现在我想知道的是,我如何 select 仅 [=28] 上的最后一个条目=] 其 Isall 值设置为 true

ID | roomid     | announcement | IsAll
 1 |     1      |    example   |  ....
 2 |     10     |    test      |  true

在这种情况下,我想获取id为2的公告

ID | roomid     | announcement | IsAll
 1 |     1      |    example   |false
 2 |     10     |    test      |  true
 3 |     10     |    test      |  false

在这种情况下,我不希望 SQL 向 return 我提供来自 table 的任何内容,因为我尝试了

            var msg = db.Broadcasts.Where(x => x.IsAll == true).OrderByDescending(x => x.Id).FirstOrDefault();

但它总是 return 不是最佳值,我该如何实现?谢谢

所以您需要做的就是select最后一项并检查 IsAll 值是否为真;

public Broadcast GetLastGlobalMessage()
{
  var lastBroadcast = db.Broadcasts.OrderByDescending(x => x.Id).FirstOrDefault();
  if(lastBroadcast !=null && lastBroadcast.IsAll)
    return lastBroadcast;

  return null;
}