如何使用 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;
}
我有一个 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;
}