ExecuteSqlInterpolated
ExecuteSqlInterpolated
是 Entity Framework Core 提供的方法之一,用于执行原生的 SQL 查询或命令,并将结果返回给应用程序。与 ExecuteSqlRaw
方法类似,但 ExecuteSqlInterpolated
允许您使用插值字符串来构建 SQL 查询或命令,而不是使用字符串插值。
以下是 ExecuteSqlInterpolated
方法的基本用法:
_context.Database.ExecuteSqlInterpolated($"SQL Query or Command");
其中 $"SQL Query or Command"
是您要执行的原生 SQL 查询或命令的插值字符串。您可以在这里使用字符串插值的方式来构建任何有效的 SQL 语句,例如查询、更新、插入、删除等。
以下是一些示例用法:
执行查询:
var query = _context.Database.ExecuteSqlInterpolated($"SELECT * FROM Products WHERE CategoryId = {categoryId}");
执行更新或插入命令:
var updateCommand = $"UPDATE Products SET Price = {newPrice} WHERE Id = {productId}"; _context.Database.ExecuteSqlInterpolated(updateCommand);
执行参数化查询:
var query = _context.Database.ExecuteSqlInterpolated($"SELECT * FROM Products WHERE CategoryId = {categoryId}");
在这个示例中,使用插值字符串来构建原生 SQL 查询,并在其中嵌入变量 categoryId
的值。这将确保 categoryId
的值被正确地参数化,并且不会导致 SQL 注入攻击。