将 SQL 字符串添加到 EF Core LINQ 查询中(附加 ZQL 查询)需要使用 EF Core 的 FromSqlRaw() 方法。该方法接受一个 SQL 查询字符串以及用于执行查询的参数。以下是一个示例:
var city = "New York";
var country = "USA";
var users = dbContext.Users.FromSqlRaw(
"SELECT * FROM Users WHERE City = {0} AND Country = {1}",
city,
country)
.ToList();
在上面的示例中,我们向 FromSqlRaw() 方法传递了一个 SQL 查询字符串,该字符串具有两个参数({0} 和 {1})。我们还将城市和国家作为参数传递了进去。
请注意,FromSqlRaw() 方法不应该被滥用。这种使用方式非常容易出错,而且会破坏 LINQ 查询提供的类型安全和其它优点。因此,我们只能在必要时使用 FromSqlRaw() 方法。
如果您希望编写更高级的查询,您可以考虑使用 Dapper 或 ADO.NET 直接访问 SQL Server。如果您需要在 EF Core 上下文外进行查询,则可以使用 IDbContextFactory 接口。
上一篇:AddSpecificMultipleDatesToCaldendar
下一篇:AddSSOAdministratorAccessUsertoCodeCommitApprovalruletemplates