Выбор конкретной строки из базы данных.net core 2

Я хочу получить конкретную строку из базы данных. поэтому я использую эту команду, чтобы получить его:

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

дело в том, что это возвращает список, а я возвращаю первый в списке, но разве нет способа вернуть прямо из команды SQL одну строку?

2 ответа

Решение

Попробуйте использовать функцию labda на FirstOrDefault.

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

но если вам нужно использовать скрипт SQL, для MYSQL используйте:

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

Если я правильно понимаю ваш вопрос, вы можете сделать это, используя предложение "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;
Другие вопросы по тегам