c# - 如何在 LINQ to Entities (Entity Framewok) 中编写 SQL ORDER BY {value} DESC LIMIT 语句?

标签 c# mysql sql linq entity-framework

我想在 LINQ to Entities 中编写以下 SQL 查询,我该怎么做?

SELECT codigo FROM Vendas ORDER BY codigo DESC LIMIT 1;

我知道如何使用 DESC,但是 LIMIT 1 呢?我可以用我所知道的东西编写这段代码,但如果表 Vendas 上有不止一行,它显然会抛出异常:

using (TccContext db = new TccContext())
{
    var query = (from venda in db.Vendas
                 orderby venda.codigo descending // `LIMIT 1` in LINQ should be added here I think
                 select venda).SingleOrDefault();
}

提前致谢。

最佳答案

using (TccContext db = new TccContext())
{
    var query = (from venda in db.Vendas
                 orderby venda.codigo descending
                 select venda).FirstOrDefault();
}

如果您需要一个元素的 Enumerable(实际上类似于 SQL limit):

using (TccContext db = new TccContext())
{
    var query = (from venda in db.Vendas
                 orderby venda.codigo descending
                 select venda).Take(1);
}

关于c# - 如何在 LINQ to Entities (Entity Framewok) 中编写 SQL ORDER BY {value} DESC LIMIT 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562287/

相关文章:

c# - 我如何从 Orchard 数据库中删除模块的数据?

c# - 从另一个应用程序在一个应用程序的文本框中写入/读取文本

mysql - 如何选择与MySQL匹配的第一行

java - JDBC 是否支持准备语句中的 Oracle 提示

c# - 回发 ASP NET 上未选中复选框

c# - PDF 将零件编号转换为链接

MySQL::group by 价格和两个日期之间

mysql - 导入具有关系等的 MySQL 数据库的应用程序或方法?

sql - 将多行(查询结果)传递给函数

java - 管理用户、他们的角色、模块和权限的更合适的方法是什么?