0

我想从数据库中检索特定行。所以我使用这个命令来检索它:

 UserOwner userowner =_context.User.FromSql("SELECT * FROM db.user WHERE name = 'username'").FirstOrDefault();
                return Ok(user);

问题是这会返回一个列表,我会返回列表中的第一个,但是没有办法直接从 SQL 命令返回一行吗?

4

2 回答 2

0

如果我正确理解您的问题,您可以使用“with”子句来获取所有行并添加计数器/索引列,然后添加 where 子句来获取特定行。这将为您提供原始查询的第 5 行。

with mainqry as (select t.*, rownum as myindex from db.user t where t.name ='username') select * from mainqry q where q.myindex=5;
于 2018-05-31T18:52:07.270 回答
0

尝试在 FirstOrDefault 上使用 labda 函数。

UserOwner userowner =_context.User.FirstOrDefault(o=> o.name == "username" );
                return Ok(user);

但如果您需要使用 SQL 脚本,对于 MYSQL 使用:

"SELECT * FROM db.user WHERE name = 'username' LIMIT 1"
于 2018-05-31T19:55:00.213 回答