我正在开发 ASP.net Core 项目。在该项目中,我需要执行 SQL 字符串查询并将结果检索到自定义模型。我尝试使用 context.Database.SqlQuery<ReportModel>
检索查询结果。但是Database.SqlQuery
ASP.net Core 不支持。请找到下面给出的我的代码:
public List<ReportModel> GetReportDetails(string customQuery)
{
try
{
List<ReportModel> listReportModel = new List<ReportModel>();
var queryResult = context.Database.SqlQuery<ReportModel>(customQuery);
foreach (var item in queryResult)
{
listReportModel.Add(item);
}
return listReportModel;
}
catch (Exception ex)
{
throw;
}
}
我还尝试了以下答案 https://stackoverflow.com/questions/35631903/raw-sql-query-without-dbset-entity-framework-core 但是,使用这个解决方案我需要更新我的上下文类。我无法更新我的上下文类。
在 ASP.net Core 3.1 中还有其他方法执行 SQL 字符串查询吗? 任何帮助将不胜感激。谢谢!
最佳答案
您可以使用下面的代码。
var dataFromDB = context.ModelClass.FromSqlRaw("spName {0}", parameter).ToList();
关于c# - 如何在 Entity Framework Core 中执行 SQL 查询而不修改上下文类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62556456/