Вы можете использовать метод расширения 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