我正在使用Core 2.0使用实体框架。 我已经使用scaffold DBContext成功生成了上下文。 我有表EMployee的DBSet。 我需要执行SToredProcedure,它会给出员工列表。 我看不到.FromSql nor.ExecuteCommand选项。
我添加了EntityFrameworkCore.SqlServer(2.0.1),EntityFrameworkCore.SqlServer.Design(1.1.5),Microsoft.VisualStudio.Web.CodeGeneration.Design(2.0.2)和EntityFrameworkCore.Tools(2.0.1)但是没有失败。
请引导上述问题。
答案 0 :(得分:2)
如果要使用EF Core执行行SQL,请尝试以下操作。
var employees = context.Employees
.FromSql("SELECT * FROM dbo.Employees")
// If you want to execute a stored procedure, then below
// .FromSql("EXECUTE {SP_NAME}")
.ToList();
但请注意,此处所述存在某些限制: https://docs.microsoft.com/en-us/ef/core/querying/raw-sql#limitations
答案 1 :(得分:1)
这是目前在.NET中执行Raw SQL的唯一方法:
MLOGIC(TEST): Beginning execution.
SYMBOLGEN: Macro variable VARIABLE resolves to Coop Fin TDC Real Telco
SYMBOLGEN: Macro variable VARIABLE resolves to Coop Fin TDC Real Telco
MLOGIC(TEST): %IF condition %sysfunc(prxmatch('Coop',"&variable.")) & %sysfunc(prxmatch('TDC',"&variable.")) is TRUE
MLOGIC(TEST): %PUT i = 1
i = 1
MLOGIC(TEST): Ending execution.
您也可以将它用于存储过程。