Выбор конкретной строки из базы данных.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;