在 .net entity framework 核心中执行 sql 语句或过程
Execute sql statement or procedure in .net entity framework core
我创建了 ASP.NET 5.0 Core-Web-API 项目并使用包 Microsoft.EntityFrameworkCore
版本 5.0.13。此外,我创建了一个存储过程,其中包含 2 个 DATE
类型的参数。该程序在 sql management studio 中运行,没有错误。
var p1 = new SqlParameter("@From", System.Data.SqlDbType.DateTime);
p1.Value = new DateTime(2021, 11, 07);
var p2 = new SqlParameter("@To", System.Data.SqlDbType.DateTime);
p1.Value = new DateTime(2021, 12, 07);
List<MapTableDimvw> myList = myDbContext.MyTable.FromSqlRaw("EXEC myProc @From, @To", p1, p2).ToList();
我认为您可以执行以下操作:
var blogs = context.myTable
.FromSqlRaw($"Select Id, colA, colB From myTable")
.ToList();
// or AsEnumerable();
var blogs = context.myTable
.FromSqlRaw($"Select Id, colA, colB From myTable")
.AsEnumerable();
否则,您可以尝试添加如下内容:
var simple = _context.myTable.FromSqlInterpolated($"Select Id, colA, colB From myTable").ToList();
此致。
我创建了 ASP.NET 5.0 Core-Web-API 项目并使用包 Microsoft.EntityFrameworkCore
版本 5.0.13。此外,我创建了一个存储过程,其中包含 2 个 DATE
类型的参数。该程序在 sql management studio 中运行,没有错误。
var p1 = new SqlParameter("@From", System.Data.SqlDbType.DateTime);
p1.Value = new DateTime(2021, 11, 07);
var p2 = new SqlParameter("@To", System.Data.SqlDbType.DateTime);
p1.Value = new DateTime(2021, 12, 07);
List<MapTableDimvw> myList = myDbContext.MyTable.FromSqlRaw("EXEC myProc @From, @To", p1, p2).ToList();
我认为您可以执行以下操作:
var blogs = context.myTable
.FromSqlRaw($"Select Id, colA, colB From myTable")
.ToList();
// or AsEnumerable();
var blogs = context.myTable
.FromSqlRaw($"Select Id, colA, colB From myTable")
.AsEnumerable();
否则,您可以尝试添加如下内容:
var simple = _context.myTable.FromSqlInterpolated($"Select Id, colA, colB From myTable").ToList();
此致。