在 .NET Core 上使用 EntityFrameworkCore 和 SQLite 执行原始 SQL

Executing raw SQL using EntityFrameworkCore and SQLite on .NET Core

我正在制作一些安全插图,因此需要有目的地编写不安全的 SQL 查询。

我看的环境是.NET Core(不是全.NET),使用的驱动是EntityFrameworkCore,数据库类型是SQLite.

使用内置查找和查询功能的常规连接工作没有任何问题。但是,似乎没有允许我执行原始 SQL 语句的函数。

一些在线资源建议在数据库/上下文中使用 .FromSql().SqlQuery() 方法,但这些方法似乎都不存在于 .NET Core 驱动程序中。

有什么方法可以在此设置中执行原始 SQL 查询吗?

正如评论所指出的:

检查您的项目引用中是否有 Microsoft.EntityFrameworkCore.Relational 引用(如果您使用 sqllite,它应该在 Microsoft.EntityFrameworkCore.Sqlite 引用中)。

您可以使用 Nuget 包:

Microsoft.EntityFrameworkCore.Sqlite

db.Database.ExecuteSqlCommand("YOUR SQLITE SQL COMMAND");

其中 db 是从 DbContext

派生的 class 的一个实例