从数据库.net core 2中选择特定行

Selecting specific row from database .net core 2

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

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

问题是这个 return 是一个列表,我 return 在列表的第一个,但是没有办法直接从 SQL return命令一排?

如果我没有正确理解你的问题,你可以使用 "with" 子句来获取所有行并添加一个 counter/index 列,然后添加一个 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;

尝试在 FirstOrDefault 上使用 lambda 函数。

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

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

"SELECT * FROM db.user WHERE name = 'username' LIMIT 1"