ASP. NET Ядро, как задать запрос SQL - PullRequest
0 голосов
/ 21 апреля 2020

Если у меня есть таблица под названием «пользователи», и я хочу дать только запрос, например, чтобы показать пользователя с идентификатором> 1. Как это сделать в ASP. NET Core. в php вы можете сделать так: $ sql = "SELECT * FROM пользователей WHERE id = '1';"; но как сделать то же самое с ASP. NET CORE. Извините за мой плохой Энгли sh.

1 Ответ

1 голос
/ 21 апреля 2020

Вы можете использовать метод расширения FromSqlRaw, чтобы начать запрос LINQ на основе необработанного запроса SQL. FromSqlRaw можно использовать только в корнях запросов, то есть непосредственно в DbSet<>.

Примечание: DbSet.FromSql до Entity Framework Core 3.0

Для параметризованные запросы, вы можете обратиться к приведенным ниже примерам:

1) Строка формата

 var author = db.Authors.FromSqlRaw("SELECT * From Authors Where AuthorId = {0}", id).FirstOrDefault();

2) Создать DbParameter объектов для используемого вами провайдера.

var p1 = new SqliteParameter("@Id", id);   // parameter construction for SqLite
var author = db.Authors.FromSqlRaw($"SELECT * From Authors Where AuthorId = @Id", p1).FirstOrDefault();

Ссылка:

https://docs.microsoft.com/en-us/ef/core/querying/raw-sql

https://www.learnentityframeworkcore.com/raw-sql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...