从database.net core 2中选择特定行

xmakbtuz  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(278)

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

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

问题是它返回一个列表,而我返回列表中的第一个,但是没有一种方法可以直接从sql命令返回一行吗?

n3schb8v

n3schb8v1#

尝试在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"
a2mppw5e

a2mppw5e2#

如果我正确理解您的问题,您可以使用“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;

相关问题