【发布时间】:2022-01-03 10:10:28
【问题描述】:
我创建了 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();
【问题讨论】:
-
在这种情况下不要使用
FromSqlInterpolated。 EF 尝试为 '{}' 包围的所有内容创建一个参数。 -
这能回答你的问题吗? How to execute an .SQL script file using c#
-
@Scircia 不这么认为。我也可以在 EF 中运行程序。但我不知道如何通过
FromRawSql或FromSqlInterpolated在EF 中执行new SqlCommand()。 -
只是确保您没有在此处正确复制\粘贴代码,或者只是错过了错误:您在 p1 上调用 .Value 两次(而不是在创建 SqlParameter 后在 p2 上调用 .Value)
标签: c# .net tsql entity-framework-core